Methods and apparatus for on-line ordering

ABSTRACT

Systems and methods for ordering supplies from suppliers or for other e-commerce activities are described. Standards for placing orders and registering catalog information in a database are described. Systems and methods for placing orders, preprocessing supplier information using geographic information, conducting data searches and analyses locally on user access devices, continuously updating displays of browser frames, tracking orders using accounting codes, placing graphical custom orders, submitting graphical orders to suppliers, placing group orders, reducing risks associated with delinquent accounts receivable, and combinations thereof are described.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional PatentApplication No. 60/191,359, filed Mar. 22, 2000; U.S. Provisional PatentApplication No. 60/191,205, filed Mar. 22, 2000; U.S. Provisional PatentApplication No. 60/245,503, filed Nov. 3, 2000; U.S. Provisional PatentApplication No. 60/245,826, filed Nov. 3, 2000; and [P. A. Burton] U.S.provisional application entitled SYSTEMS AND METHODS FOR USING CODES TOIDENTIFY OR GROUP ORDERS, filed Jan. 2, 2001, Attorney Docket No. ATG-6PROV2.

BACKGROUND OF THE INVENTION

[0002] This invention relates to electronic commerce (“e-commerce”)systems. More particularly, this invention relates to systems andmethods for providing suppliers' catalog information to purchasers andproviding orders to suppliers.

[0003] Electronic commerce systems, such as Internet-based shoppingsystems, allow purchasers to electronically purchase products andservices without having to visit an actual store or supplier facility.Vast quantities of supplier information may be available to purchasersor prospective purchasers via Internet-accessible database servers.Similarly, vast quantities of orders may be placed by users via accessdevices.

[0004] Because of the vast quantity of supplier information available onthe Internet, it may be difficult for purchasers to find or identifysuppliers that may provide supplies or services that meet thepurchasers' needs. For example, purchasers may require that suppliers belocated in a selected area, provide certain types of supplies,participate in certain sales promotions, or conform to consumer orindustrial standards. Purchasers may also have a need for informationrelated to the suppliers or supplies.

[0005] Accordingly, it would be desirable to provide systems and methodsfor providing purchasers with information about suppliers and suppliesthat is organized around purchasers' needs and preferences, forreceiving orders from purchasers, and for submitting the orders tosuppliers.

[0006] Existing e-commerce systems that provide on-line orderingservices to purchasers may provide on-line access to a limited number ofsuppliers or to suppliers offering a limited scope of supplies. Existinge-commerce systems may benefit from being able to offer purchasers alarger selection of supplies and a wider range of categories ofsupplies, but it may be costly to incorporate new catalog information ifthe new information does not conform to formats and protocols used bythe systems. Accordingly, it may be desirable to provide systems andmethods for providing existing e-commerce systems with formats andprotocols for incorporating catalog information from previouslyinaccessible suppliers and for placing orders for items and servicesfrom those suppliers' catalogs.

[0007] Searches for suppliers, supplier-related information, cataloginformation, or any other type of information may be slowed by processesrequired to extract information from databases, data transmissiondelays, and other uncontrollable delays. Accordingly, it may bedesirable to provide systems and methods for providing databasesearching capabilities that reduce interactions with remote databaseengines.

[0008] In some searches, purchasers may desire to find, sort, or groupsuppliers that conform to certain criteria such as distance from thepurchaser, participation in a given sales promotion, provision of acertain brand or line of supplies, or certification by an independentorganization (for example, a consumer protection organization). Such asearch may be inherently slow because it may require a purchaser tosearch numerous databases, each of which may cause processing andtransmission delays. Searching efficiency may be reduced because eachdatabase may require a different search strategy. Accordingly, it may bedesirable to provide systems and methods for categorizing informationand incorporating it into preprocessing information lists fordistribution to and local searching by purchasers. In particular, itwould be desirable to provide systems and methods for categorizingsuppliers using geographic criteria and providing purchasers withpreprocessed supplier information for local searching using an accessdevice.

[0009] When an ordering system manages large numbers of orders, it maydifficult to “supervise” the progression of an order from initialreception, through internal processing, submission to a supplier, andfulfillment by the supplier. Purchasers, customer servicerepresentatives, and suppliers using user access devices may not be ableto remotely “view” orders and related information as they enter thesystem, pass through it, or arrive at a supplier's warehouse withoutrepeatedly downloading information from a database server. Repeateddownloading may be slow, inefficient, and may degrade a viewer's abilityto analyze information on the user access device display. Accordingly,it may be desirable to provide systems and methods for continuouslyupdating portions of a display on a user access device withoutrefreshing the entire display.

[0010] Sometimes, organizations may have systems for tracking expensesincurred while providing services to individuals, clients, or otherorganizations. When members of organizations (e.g., employees of a firmor company) order supplies or services on line in connection with, itmay be difficult to track orders placed by a given member. Thisshortcoming may lead to losses in efficiency or abuses of the system.Accordingly, it may be desirable to provide systems and methods ofidentifying or tracking orders placed in connection with a particularactivity, function, client, or individual.

[0011] Some customizable items and supplies may be purchased usinge-commerce systems. When purchasers select items and customized featuresfor the items, it may be difficult for a user to envision how the itemwould appear as modified by the customization features. One solution isto display a different version of the item for each customizationfeature. The number of versions required increases rapidly as the numberof possible options for the item increases. It may be cumbersome orimpossible to provide different stock displays showing every possiblecombination of options for a given feature. Accordingly, it may bedesirable to provide systems and methods for “virtual assembly” of acustomized item that receive item and option selections from on-linepurchasers and dynamically illustrate items, as modified by any selectedoptions, at each stage of the customization or assembly process.

[0012] When orders for customized items are submitted to suppliers forfulfillment, it is sometimes necessary to describe the item ascustomized using text. Items with multiple customized features or withcustomized features that overlap or intermingle with each other, such asthe toppings of a pizza, may be difficult to describe. Such items may bedifficult for a supplier to create or assemble in accordance with adescription even if the description is accurate. Accordingly, it may bedesirable to provide systems and methods for automatically providingsuppliers with graphically simplified illustrations of customized items(e.g., an “exploded view” of the linkages in an automobile transmissionsystem).

[0013] When a prospective purchaser desires to participate with otherprospective purchasers in ordering supplies or services via ane-commerce system, the prospective purchaser may need to perform anumber of tasks. Necessary tasks may include informing the others abouta prospective ordering event, providing them with information aboutsuppliers or suppliers' catalogs, polling them for selections ofsuppliers or items, assembling all of the selections into a singleorder, submitting the order to a selected supplier, and following up onthe fulfillment of the individual portions of the order. Accordingly, itwould be desirable to provide systems and methods that automate some orall of the tasks that are necessary for using an e-commerce system toinitiate, assemble, submit, and monitor a single consolidated order thatincludes orders from several different individuals or sources.

[0014] When an e-commerce system is used to generate sales for suppliersby facilitating sales to purchasers, an e-commerce system provider mayreceive commissions in compensation for facilitating sales. Ane-commerce provider may facilitate sales for a large number ofsuppliers. There may be a risk that some of the suppliers will not paydue commissions. It may be costly to reduce the risk by researching thecredit-worthiness of suppliers or taking measures to coerce paymentsfrom delinquent suppliers. Accordingly, it may be desirable to providesystems and methods for automatically increasing the probability, at thetime an order is placed with an e-commerce system, that commissions willbe paid.

SUMMARY OF THE INVENTION

[0015] Systems and methods of the present invention may provide toconsumers or other types of users web pages, electronic catalogs, orother displays and may receive user selections for purchasing goods andservices. The selections may be received in the form of orders. Ordersmay then be transmitted to suppliers for fulfillment.

[0016] Ordering web sites may be provided for receiving electronicindications of the user selections. Orders may be received fromindependent ordering sites. To facilitate information exchange withindependent sites, some embodiments of the invention may provideindependent sites with standards and protocols necessary for viewingcatalog information and submitting orders in accordance with theinvention. Catalog information may be provided to standard-compliantindependent sites and orders may be received from them.

[0017] Systems and methods may be provided for providing users withinformation, which may include catalog information, orderinginformation, or any other type of information, by downloading dataobjects, which may be compressed, into users' access devices, e.g., webbrowsers. Data and processing functions may be downloaded to provideusers with specialized capabilities, including decompressing compresseddata. Processing functions may include functions for locally searching,sorting, grouping, browsing, and performing other data manipulation orcalculation tasks. Processing functions for presenting data or searchresults to users via an access device display may be provided. A varietyof presentation functions may be provided to present different forms ofdata to users and receive a variety of forms of user indications fromusers.

[0018] In some embodiments, systems and methods for continuouslyupdating a user access device display without refreshing an entireactive web page may be provided. Data may be downloaded into a user'saccess device and stored, for example, in a first browser frame.Functions may be provided for displaying data in the first frame andselectively replacing portions of the data. A second browser frame,which may be a hidden frame, may be periodically refreshed with datafrom a server. Data from the second browser frame may be selected usingthe functions and inserted into the first frame for display.Continuously updated displays of web pages may be used for monitoringthe status of data values that may change frequently such as a number ofoutstanding orders in a queue, values of commodities or securities, orvalues of properties measured by a laboratory instrument.

[0019] In some embodiments, systems and methods for selectingprospective suppliers for users may be provided. A geographic regionsurrounding or including a user's location may be determined andsuppliers located inside the region may be presented to the user. Theborders of the region may defined to insure that presented supplierswill be located within a preselected distance from the user.

[0020] Some embodiments may identify a user within a geodetic zoneincluding the user's location, and present the user with a preprocessedlist of suppliers that are associated with the zone. Suppliers may beassociated with a zone for a variety of reasons, including, but notlimited to, convenience, marketing, or distribution priorities.Suppliers may offer delivery service to some, all, or none of the zone.The user may be provided with indications that a supplier does or doesnot deliver to the user's location based on geometric or cartographicanalyses that may be performed by a central processing engine.

[0021] When a supplier offers delivery to only part of the zone, and itis uncertain if the user's location falls into the delivery portion ofthe zone or the non-delivery portion of the zone, cartographic orgeometric data and functions may be downloaded to the user's accessdevice. These data and functions may automatically determine in whichportion of the zone the user is located. Providing preprocessed listsand local computation functions for suppliers having undetermineddelivery service may reduce database response times without reducing theamount of information provided to the user.

[0022] Some embodiments may provide systems and methods for identifying,tracking, grouping, or sorting orders using accounting codes.Organizations or groups of users may desire to keep track of ordersplaced by group member users for accounting, auditing, billing, andreporting purposes. For example, an employee (user) may “expense” abusiness meal to a company (group) client.

[0023] Some embodiments may receive indications from users that an orderis complete and that the user is ready to make payment arrangements.Accounting codes may be received and stored as part order informationthat may define the order. When the codes are received, the user may bepresented with information about group policies or rules governing theuse of accounting codes or ordering in general. Received codes may bechecked for validity and proper usage under group rules. If invalidcodes are received, or if rules are violated, users and administrativeusers of groups may be warned or notified. After any validationprocesses are performed, the order may be accepted, stored, andsubmitted to a supplier.

[0024] Administrative users representing a user group may be providedwith report generation tools to generate reports regarding orders andordering practices of the group's member users. Reports may bestratified, sorted, or grouped by elements of order information, whichmay include accounting codes, user names, supplies ordered, amount paid,and other order information.

[0025] Some embodiments may provide systems and methods for receivinggraphical custom orders. Graphical custom orders may include orders forcustomizable items in which a user selects an item and then graphicallyselects a customization feature or option with which to modify theselected item. Accordingly, an indication of an item may be received anda graphical representation of the item may be displayed on the user'saccess device.

[0026] In some embodiments, user indications to divide the selected iteminto portions may be received and the graphical representation modifiedaccordingly. In some embodiments, graphical representations of optionalfeatures may be presented to the user to prompt the user to select anoption. User indications of selected options may be received. Userindications of one or more portions to be modified may be received. Thegraphical representation of the item or any portions may be displayed asmodified by the selected option or options.

[0027] An indication that the order is complete may be received and thegraphical representation of the modified item may be transformed into afinal state of completion (e.g., it may be displayed as “cooked” or“assembled”). The selected item and modifications may be submitted to asupplier.

[0028] In some embodiments, an order or a graphical custom order may besent to a supplier in a graphical form that may facilitate orderfulfillment. For example, a pizza order submitted to a restaurant mayillustrate the pizza using discs or sections of discs to show therequired distribution for each topping. Textual order information may betransmitted to the supplier with the graphical order information.

[0029] Some embodiments may provide systems and methods for avoiding therisk of bad debt. When a user purchases an item or service from asupplier, the purchase may be facilitated by an ordering service. Theordering service may receive a commission from the supplier, but thereis a risk that the supplier may not pay the commission or may pay itlate.

[0030] Some embodiments may receive from a user an order that includespayment information corresponding to a given payment method (e.g.,credit card, cash, house account, etc.). If payment by credit card isindicated, a supplier's claim for payment from the user's financialinstitution may be trapped instead of forwarding it to the supplier. Thetrapped claim may be presented directly to the financial institution andcorresponding funds may be received. An amount corresponding to the salereduced by any commission, any receivable funds from other orderspurchased (for example, using non-trappable payment methods), or anyassociated service charges may be remitted to the supplier. Systems andmethods for defraying costs due to financial institution service chargesmay be provided.

BRIEF DESCRIPTIONS OF DRAWINGS

[0031] Further features of the invention, its nature and variousadvantages will be more apparent from the following detailed descriptionof the preferred embodiments taken in conjunction with the accompanyingdrawings, in which:

[0032]FIGS. 1 and 2 illustrate on-line and non-on-line arrangements,respectively, for an e-commerce system, in accordance with the presentinvention.

[0033]FIG. 3 illustrates an arrangement for the access devices of FIG.1, in accordance with some embodiments of the present invention.

[0034]FIG. 4 is a generalized flowchart showing a possible flow ofinteractions between users and the system.

[0035]FIG. 5 illustrates an ordering system in accordance with someembodiments of the present invention.

[0036]FIGS. 6 and 7 are illustrative data flow diagrams showinginteractions between various parts of the open catalog system inaccordance with some embodiments of the present.

[0037]FIG. 8 is a generalized block diagram of a system architecturethat may be used as part of the system in accordance with someembodiments of the present invention.

[0038]FIG. 9 is a generalized block diagram of a back-end systemarchitecture in accordance with some embodiments of the presentinvention.

[0039]FIG. 10 is a generalized block diagram of record fields within anillustrative database in accordance with some embodiments of the presentinvention.

[0040]FIG. 11 shows an illustrative example of a compressed data streamin accordance with some embodiments of the present invention.

[0041]FIG. 12 is an illustrative data flow diagram whereby a distributeddatabase engine may be sent to a remote user in accordance with someembodiments of the present invention.

[0042]FIG. 13 is a generalized block diagram of a distributed databaseengine that has been received by a remote user in accordance with someembodiments of the present invention.

[0043]FIG. 14 is an illustrative data flow diagram wherein a distributeddatabase engine has been sent to a remote user in accordance with someembodiments of the present invention.

[0044]FIG. 15 is an illustrative data flow diagram wherein geographicinformation is used to select files to be downloaded to a distributeddatabase engine in accordance with some embodiments of the presentinvention.

[0045]FIG. 16 is a generalized block and data flow diagram of adistributed database engine that has been received by a user inaccordance with some embodiments of the present invention.

[0046]FIG. 17 is a generalized block and data flow diagram of adistributed database engine that has been received by and is in use by auser in accordance with some embodiments of the present invention.

[0047]FIG. 18 is an illustrative data flow diagram of a distributeddatabase engine while processing data in accordance with someembodiments of the present invention.

[0048]FIG. 18a is a generalized flowchart of steps involved in providingdata and functionality to a user in accordance with some embodiments ofthe present invention.

[0049]FIG. 19 is a generalized block and data flow diagram of a pushengine that has been installed in the browser of a user in accordancewith some embodiments of the present invention.

[0050]FIG. 20 is a generalized flowchart of steps involved in presentinga user with a list based on geographic location in accordance with someembodiments of the present invention.

[0051]FIGS. 21, 22, and 23 show illustrative examples of relationshipsbetween zones and supplier delivery areas in accordance with someembodiments of the present invention.

[0052]FIG. 24 is a generalized flowchart of steps involved in ageozoning process in accordance with some embodiments of the presentinvention.

[0053]FIG. 25 illustrates a portion of a system for providing accountingcode features in accordance with some embodiments of the presentinvention.

[0054]FIG. 26 is a generalized flowchart showing a process for usingaccounting codes in accordance with some embodiments of the presentinvention.

[0055]FIG. 27 is a generalized flowchart of steps involved in agraphical custom ordering process in accordance with some embodiments ofthe present invention.

[0056]FIG. 28 is a generalized flowchart of steps involved in agraphical order decomposition process in accordance with someembodiments of the present invention.

[0057]FIG. 29 is a graphical representation of a possible graphicalorder decomposition in accordance with some embodiments of the presentinvention.

[0058]FIG. 30 is a generalized block and data flow diagram representinga group ordering process in accordance with some embodiments of thepresent invention.

[0059]FIG. 31 illustrates a portion of a system for providing creditcard pricing features in accordance with some embodiments of the presentinvention.

[0060]FIG. 32 is a generalized flow chart showing processes for usingcredit card pricing features in accordance with some embodiments of thepresent invention.

[0061]FIG. 33 is a generalized flowchart of steps involved in theordering process in accordance with some embodiments of the presentinvention.

[0062]FIG. 34 is a generalized flowchart of steps involved in allowingusers to access the system in accordance with some embodiments of thepresent invention.

[0063]FIG. 35 shows an illustrative display for showing users one ormore locations and allowing and receiving indications of locations inaccordance with some embodiments of the present invention.

[0064]FIG. 36 shows an illustrative display that may be used to showusers a list of suppliers and information pertaining to the suppliers.FIG. 36 may allow the system to receive indications of preferredsuppliers in accordance with some embodiments of the present invention.

[0065]FIG. 37 shows an illustrative display that may be used to showusers a supplier catalog and to accept user indications of desiredproducts in accordance with some embodiments of the present invention.

[0066]FIG. 38 shows an illustrative display that may be used to showusers order information and accept user indications of orderingpreferences in accordance with some embodiments of the presentinvention.

[0067]FIG. 39 shows an illustrative display that may be used to showusers information about past orders, receive accounting data, andreceive user indications of location in accordance with some embodimentsof the present invention.

[0068]FIG. 40 shows an illustrative display that may be used to showusers past order and/or accounting data. It may be used to allow thesystem to receive user indications of desired methods of sorting thedata that it displays in accordance with some embodiments of the presentinvention.

[0069]FIGS. 41 and 42 show illustrative displays that may be used by auser to login to the system in accordance with some embodiments of thepresent invention.

[0070]FIGS. 43, 44, and 45 show illustrative displays that may be usedto display information about suppliers, display a list of suppliers,and/or allow the system to receive user indications of preferredsuppliers in accordance with some embodiments of the present invention.

[0071]FIGS. 46, 47, 48, and 50 show illustrative displays that may beused to display catalog information, display a list of suppliers, allowthe system to receive user indications of preferred suppliers, and/orallow the system to receive user indications of desired products inaccordance with some embodiments of the present invention.

[0072]FIGS. 49, 51, 52, and 53 show illustrative displays that may beused to display catalog information, display desired products, allow thesystem to receive user indications of desired products, and allow thesystem to receive indications of a desire to complete an order inaccordance with some embodiments of the present invention.

[0073]FIGS. 54, 55, 56, 57, 58, 59, 60, 61, 62, and 63 show illustrativedisplays that may be used to display order information, display choicesof order options, and allow the system to receive indications of adesire to change ordering options in accordance with some embodiments ofthe present invention.

[0074]FIG. 64 shows an illustrative display that may be used to displayorder information, display favorite past orders, and allow the system toreceive indications of a desire to reuse a past order in accordance withsome embodiments of the present invention.

[0075]FIG. 65 shows an illustrative display that may be used to displaypast order information, display favorite past orders, and allow thesystem to receive indications of a desire to reuse a past order inaccordance with some embodiments of the present invention.

[0076]FIG. 66 shows an illustrative display that may be used to displaypast order information, display promotions, and allow the system toreceive indications of a desire to reuse a past order in accordance withsome embodiments of the present invention.

[0077]FIG. 67 shows an illustrative display that may be used to receiveconfirmations or negations of prior indications in accordance with someembodiments of the present invention.

[0078]FIG. 68 shows an illustrative display that may be used by anadministrative user to login to the system in accordance with someembodiments of the present invention.

[0079]FIG. 69 shows an illustrative display that may be used to displaya selection menu and allow the system to receive indications related tothe menu in accordance with some embodiments of the present invention.

[0080]FIG. 70 shows an illustrative display that may be used to displaysupplier information and allow the system to receive indicationsregarding suppliers to be added to the system in accordance with someembodiments of the present invention.

[0081]FIGS. 71, 72, 73 and 74 show an illustrative displays that may beused to allow the system to receive indications regarding suppliers tobe added to the system in accordance with some embodiments of thepresent invention.

[0082]FIG. 75 shows an illustrative display that may be used to displaya list of suppliers and allow the system to receive indicationsregarding changes to supplier data in accordance with some embodimentsof the present invention.

[0083]FIG. 76 shows an illustrative display that may be used to allowthe system to receive indications regarding lists to be added to thesystem in accordance with some embodiments of the present invention.

[0084]FIG. 77 shows an illustrative display that may be used to displaylists of suppliers and allow the system to receive indications regardingsupplier list changes in accordance with some embodiments of the presentinvention.

[0085]FIG. 78 shows an illustrative display that may be used to displaya list of companies and allow the system to receive indicationsregarding changes to supplier data in accordance with some embodimentsof the present invention.

[0086]FIGS. 79 and 80 show illustrative displays that may be used toallow the system to receive indications regarding companies to be addedto the system in accordance with some embodiments of the presentinvention.

[0087]FIGS. 81, 82, 83, and 84 show illustrative displays that may beused to display customer service data and allow the system to receiveindications regarding customer service activity in accordance with someembodiments of the present invention.

[0088]FIG. 85 shows an illustrative display that may be used to displaya selection menu and allow the system to receive indications related tothe menu in accordance with some embodiments of the present invention.

[0089]FIGS. 86 and 87 show illustrative displays that may be used todisplay order information and allow the system to receive indicationsfor limiting the data displayed in accordance with some embodiments ofthe present invention.

[0090]FIG. 88 shows an illustrative display that may be used to show alist of suppliers in accordance with some embodiments of the presentinvention.

[0091]FIG. 89 shows an illustrative display that may be used to show alist of order data in accordance with some embodiments of the presentinvention.

[0092]FIG. 90 shows an illustrative display that may be used to show alist of available reporting tools in accordance with some embodiments ofthe present invention.

[0093]FIG. 91 shows an illustrative display that may be used to show adata regarding a reporting tool in accordance with some embodiments ofthe present invention.

[0094]FIG. 92 shows a sample SQL query in accordance with someembodiments of the present invention.

[0095]FIG. 93 shows an illustrative display that may be used to show alist of companies in accordance with some embodiments of the presentinvention.

[0096]FIGS. 94 and 95 show illustrative displays that may be used toallow the system to receive indications regarding changes to companydata in accordance with some embodiments of the present invention.

[0097]FIG. 96 shows an illustrative display that may be used to displaya list of departments and allow the system to receive indicationsregarding changes to department data in accordance with some embodimentsof the present invention.

[0098]FIGS. 97 and 98 show illustrative displays that may be used toallow the system to receive indications regarding changes to departmentdata in accordance with some embodiments of the present invention.

[0099]FIG. 99 shows an illustrative display that may be used to displaya list of users and allow the system to receive indications regardingchanges to user data in accordance with some embodiments of the presentinvention.

[0100]FIG. 100 shows an illustrative display that may be used to displaya list of locations and allow the system to receive indicationsregarding changes to location data in accordance with some embodimentsof the present invention.

[0101]FIGS. 101 and 102 show illustrative displays that may be used toallow the system to receive indications regarding changes to locationdata in accordance with some embodiments of the present invention.

[0102]FIG. 103 shows an illustrative display that may be used to displaya list of administrative users and allow the system to receiveindications regarding changes to administrative user data in accordancewith some embodiments of the present invention.

[0103]FIGS. 104, 105 and 106 show illustrative displays that may be usedto allow the system to receive indications regarding changes toadministrative user data in accordance with some embodiments of thepresent invention.

[0104]FIGS. 107, 108, and 109 show illustrative displays that may beused to display past order data and allow the system to receiveindications regarding which past orders to display data about inaccordance with some embodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION General Ordering

[0105] The present invention may be implemented using any systems ormethods suitable for supporting electronic communications over anysuitable communications network. Some embodiments may provide forconveying an order from a user to a supplier, conveying cataloginformation from a supplier to a user, or performing electronictransactions via an electronic communication network. Users may inputorders or other transactions using an access device in communicationwith the network. For purposes of the descriptions herein, suppliers maybe businesses, individuals, or organizations. Suppliers may includeretail buyers, retail sellers, wholesale buyers, wholesale sellers,restaurants, securities brokers, stores, providers of services or anyother business entity or individual.

[0106] Some embodiments may be implemented, for example, usingnon-on-line client/server or peer-to-peer based approaches. In otherembodiments, web-based or on-line approaches may be used. If desired, acombination of these approaches may be used. Illustrative on-line andnon-on-line based arrangements for an e-commerce system are shown inFIGS. 1 and 2, respectively.

[0107] In the illustrative on-line arrangement of FIG. 1 access devices102 may be connected via links 103 to Internet 100. Access devices 102may include any device or combination of devices suitable for providingInternet access to a user of the system. Access devices may include, forexample, any suitable personal computer (PC), portable computer (e.g., anotebook computer), palmtop computer, handheld personal computer (H/PC),automobile PC, personal digital assistant (PDA), Internet-enabledcellular phone, combined cellular phone and PDA, ebook, set-top box(e.g., a Web TV enabled set-top box), or other device suitable forproviding Internet access.

[0108] Internet and application server 104 may be any server suitablefor providing on-line access to an e-commerce web site. Internet andapplication server 104 may, for example, provide one or more pages toaccess devices 102 using one or more suitable protocols (e.g., theHyperText Transfer Protocol (HTTP) and Transmission ControlProtocol/Internet Protocol (TCP/IP)). The pages may be defined using,for example, any suitable markup language (e.g., HyperText MarkupLanguage (HTML), Dynamic HyperText Markup Language (DHTML), pagesdefined using the Extensible Markup Language (XML), JavaServer Pages(JSP), Active Server Pages (ASP), or any other suitable approaches). Thepages may include scripts, computer code, or subsets of computer code,that define mini-programs (e.g., Perl scripts, Java applets, EnterpriseJavaBeans (EJB), or any other suitable approaches). The system may bedesigned using suitable modular approaches such as, for example, Java 2Platform—Enterprise Edition (J2EE), Component Object Model (COM),Distributed Component Object Model (DCOM), or any other suitableapproach.

[0109] Internet and application server 104 may run a database enginesuitable for maintaining a database of user, order, supplier, or cataloginformation such as, for example, Microsoft SQL Server, Oracle 8 i, orany other suitable database engine. Internet and application server 104may run Microsoft Internet Information Server. In practice, features ofInternet and application server 104 may be integrated into a singleserver, or may be distributed across multiple servers that areinterconnected via Internet 100.

[0110] Links 103 may include any transmission medium suitable forproviding Internet access to access devices 102. Links 103 may include,for example, a dial-up telephone line, a computer network or Internetlink, an infrared link, a radio frequency link, a satellite link, adigital subscriber line link (e.g., a DSL link), a cable TV link, aDOCSIS link, or any other suitable transmission link or suitablecombination of such links. Different links 103 may be of different typesdepending on, for example, the particular type of access devices 102.

[0111] Any protocol or protocol stack suitable for supportingcommunications between access devices 102 and Internet and applicationserver 104 over links 103 based on the particular device 102 and link103 may be used. For example, Ethernet, Token Group, Fiber DistributedData Interface (FDDI), Circuit-Switched Cellular (CSC), Cellular DigitalPacket Data (CDPD), RAM mobile data, Global System for Mobilecommunications (GSM), time division multiple access (TDMA), codedivision multiple access (CDMA), wireless application protocol (WAP),serial line Internet protocol (SLIP), point to point protocol (PPP),Transmission Control Protocol/Internet Protocol (TCP/IP), SequencedPacket Exchange and Internetwork Packet Exchange (SPX/FPX) protocols, orany other suitable protocol or combination of protocols may be used.

[0112]FIG. 2 shows another illustrative arrangement for the e-commercesystem of the present invention. Network 110 may be any suitablewire-based, fiber-based, or wireless local area network (LAN), wide areanetwork (WAN), intranet, or other suitable network. Personal computers,and their interconnection via networks, are well known. Personalcomputers 112 may run suitable e-mail, HTTP, or other clients and clientapplications for providing users with access to the features of thesystem. In still another suitable approach, personal computers 112 mayrun suitable Internet browsers to provide users with access to theInternet via an Internet server (not shown). If desired, one or morepersonal computers 112 may be accessed by remote access device 113 toprovide remote access to users to the system. Remote access device 130may be any suitable device, such as a personal computer, personaldigital assistant, cellular phone, or other device with remote accesscapabilities.

[0113] Database server 105 of FIGS. 1 and 2 may be any computer-basedsystem suitable for maintaining a database of user, order, supplier, orcatalog information. In particular, database server 105 may storeattributes of users and suppliers, orders, order-related information,and catalog information. Database server 105 may run a database enginesuitable for maintaining a database of item information such as, forexample, Microsoft SQL Server, Oracle 8 i, or any other suitabledatabase engine. Database server 105 is shown as being connected toserver 104 via Internet 100 and server 114 via network 110. In practice,database server 105 may be connected to server 104 or server 114 using adirect communications link. The features of database server 105 may beprovided using a single server, distributed across multiple servers, orintegrated into server 104 or server 114.

[0114]FIG. 3 shows an illustrative, generalized arrangement for theaccess devices 102 of FIG. 1. Access devices 102 may have, for example,user input device 124, processing circuitry 126, communications device128, storage 129, and display device 122. User input device 124 may beany suitable input device. User input device 124 may include, forexample, a pointing device, keyboard, touch-pad, touch screen, penstylus, voice recognition system, mouse, trackball, or any othersuitable user input device. Processing circuitry 126 may include anysuitable processor, such an Intel Pentium® microprocessor, and othersuitable circuitry (e.g., input/output (I/O) circuitry, direct memoryaccess (DMA) circuitry, etc.). Communications device 128 may be anydevice suitable for supporting communications over links 103.Communications device 128 may include, for example, a modem (e.g., anysuitable analog or digital standard, cable, or cellular modem), networkinterface card (e.g., an Ethernet card, token group card, etc.),wireless transceiver (e.g., an infrared, radio, or other suitable analogor digital transceiver), or other suitable communications device.Storage 129 may be any suitable memory, storage device, or combinationthereof, such as RAM, ROM, flash memory, a hard disk drive, etc. Displaydevice 122 may include, for example, a cathode ray tube (CRT) monitor,liquid crystal display (LCD), voice synthesis processor and speaker, orany other suitable user output device. Users, suppliers, and anyordering system personnel may interact with system 101 using an accessdevice such as access devices 102 or a personal computer such aspersonal computer 112.

[0115]FIG. 4 shows a general flowchart of illustrative steps involved inoperating some embodiments of the e-commerce system of the presentinvention. The steps shown in FIG. 4 are only illustrative and may beperformed in any suitable order. In practice, there may be additionalsteps or some of the steps may be deleted. Some of the steps shown inFIG. 4 involve providing users with opportunities to interact with thesystem, performing various processes, or providing various displays.These and other steps may be performed by, for example, a clientapplication that is programmed to generate or download screens suitableto provide such opportunities, an Internet browser that downloadssuitable pages to provide such opportunities, peer applications, orusing any other suitable approach. In an on-line arrangement, accessdevice 102, for example, may be used to run client-based applications,such as a web browser. In non-on-line arrangements, personal computer112, for example, may run client-based applications.

[0116] Other steps illustrated in FIG. 4 may involve additionalprocessing, such as searching, grouping, calculating, generating e-mail,receiving and assembling order information, ordering, communicating withother systems, or other types of processing. In on-line arrangements (asshown in FIG. 1), such processing may be performed by, for example,access device 102, Internet and application server 104, or databaseserver 105, depending on, for example, the processing and storagecapabilities of access device 102, the chosen implementation for themarkup language documents used, the processing requirements of suchoperations, or other factors. In non-on-line arrangements (as shown inFIG. 2), such processing may be performed by personal computer 112,remote access device 113, application server 140, database server 105,or distributed among peer applications, depending on the chosen systemimplementation and the processing requirements of such operations.

[0117] For clarity, the following discussion will describe the stepsshown in FIG. 4 as being performed by “the system,” which is intended toinclude any suitable e-commerce system, such as, for example, anynon-on-line or on-line arrangement suitable for performing the steps.The system may receive orders from internal ordering sites or externalordering sites. Internal sites may be maintained by the system usingInternet and application server 104 or application server 114 (as shownin FIGS. 1 and 2, respectively). External sites may be maintainedindependently from the system, but may submit orders that comply withstandards determined by the system.

[0118] When a user places an order using an internal ordering site, thesystem may provide an initial display for at step 130. The initialdisplay, and any subsequent displays, may correspond to any preselectedthemes, preferences, or requirements associated with the ordering site.Themes, preferences, or requirements may be determined by the system orby a group of users. The initial display may provide users withopportunities to log in (step 132), or may provide users with access toother system features. In some embodiments, users may be required to login by, for example, entering a user name and a password. In otherembodiments, users may not be required to log in to access the featuresof the system.

[0119] In step 134, the system may initialize the user's access deviceby loading portions of a distributed database engine into the accessdevice browser, for example. The distributed database engine includes,in part, a presentation engine for driving a graphical user interface(sometimes referred to hereinafter as “GUI”) and a translation enginefor decompressing data that are to be received from the system.

[0120] In step 140, the system may receive an indication of the user'slocation. The location is a geographic place where the user is locatedor where the user desires to receive or receive delivery of orderedsupplies. The system may provide the user with a list of suppliers thatare close to the user's location for convenience, economy, or any otherreason.

[0121] In step 142, the system may choose a list to provide to the user.The list may include suppliers that correspond to preselectedpreferences associated with the ordering site through which the userentered the system (145). Alternatively, the system may provide the userwith a list that corresponds to the user's location. If the system mayprovide a list known from prior transactions to correspond to the user'slocation (archived location list 144), or it may use a geozoning engine(146) to map the user's location into geographic coordinates andretrieve or generate a list of suppliers corresponding to thosecoordinates.

[0122] In steps 148 and 150, the user may select a supplier and thesystem may receive an indication of the selection. In step 152, thesystem may provide a catalog from the selected supplier to the user. Instep 154, the system may receive an indication that the user desires toplace a group order. If so, the user is referred to as a host user andthe system may generate, distribute, and manage invitations to otherusers (hereinafter, “invitees”) to gather order information from themembers of a group. Group orders may be processed using e-mail engine158 for distributing invitations, group order holding bin 160 forreceiving and holding orders from members of the group, and group orderstatus engine 162 for monitoring the status of orders and invitationsand providing status information to the host user. If no group order isrequested, step 156 may be skipped.

[0123] In step 164, the system may receive order information from theuser. (In the case of a group order, the system may already haveordering information, for example, in group ordering bin 160). When thesystem receives order information, it may receive accounting codes 165for accounting and reporting purposes. Accounting codes may beespecially useful if the user is a member of a group that monitorsordering activity of its member users. Graphical custom order 163 mayprovide methods of receiving order information in step 164 that involvemanipulating graphical representations of items and customized featureson a user's display, such as display device 122.

[0124] In step 168, the system may receive orders from ordering sitesexternal to the system provided that the site is approved for orderingfrom the system and that the order complies with an open catalogstandard (hereinafter, “OCS”) that may be defined and distributed by thesystem. Internal orders may be stored in a database in step 170. Whenthe system is compensated by suppliers in the form of a commission inconnection with a sale of supplies to a user, the system may selectivelytrap credit card claims using credit card pricing logic (step 172).Trapped credit card claims may be submitted to the user's financialinstitution. When the financial institution remits funds to the system,the system can transfer the funds, less commission due, to the supplier.

[0125] In step 176 order information may be output. Order informationmay be output to a supplier by any communications device or link,including e-mail, fax, phone, or mail (180). Order information may beoutput to authorized users, including administrative users of a usergroup, in the form of reports that may be generated in connection withaccounting codes or user attributes (182). Push engine 178 may be usedto provide a continuous display of order information at various stagesof the ordering process to authorized users (e.g., customer servicerepresentatives). For example, different authorized users of push engine178 may have permission to view orders in different stages of theprocess or orders from different users or user groups.

[0126] When the source of an order is an OCS-compliant external site,orders may be stored in an order information database (step 184) as inthe case of orders from internal sites. OCS-compliant external ordersmay be output in step 176 in a manner similar to the output of internalorders. In some embodiments, OCS-compliant sites may not need creditcard pricing logic (172) since suppliers may have financial arrangementswith the OCS-compliant external sites that are independent of thesystem. In some embodiments, step 172 may follow step 184.

[0127] Some embodiments of the present invention may provide users withlocally searchable supplier information, catalog information, or acombination thereof. The information may be transferred to the user'saccess device and searched, for example, in a browser, using specializedfunctions that may be supplied by the ordering service. A user maybrowse or search the information and perform various functions locally,thereby transferring the processing burden of these functions from theserver to the client device.

[0128] Supplier information may include, but is not limited to, nameinformation, address information, service information, hours ofoperation information, catalog information, critique information,parking information, and any other information that may be relevant to auser's decision to order from a given supplier. These types ofinformation are generic and may be suitable for many different types ofsuppliers. In some embodiments, supplier information may includeinformation suitable to a specific type of supplier. For example, when asupplier is a food supplier, relevant supplier information may includecuisine information, delivery information, take-out information, hoursof operation information, menu information, attire information,atmosphere information, and restaurant review information. A supplierinformation data set may include graphical information so that a usercan view the appearance of the supplier's facilities, supplies, orpersonnel.

[0129] Users may be prompted for their location (e.g., address, Zipcode, or other indication of location). In some embodiments, a specialdata set of supplier information may be selected or generated thatincludes suppliers within a predetermined distance from the user.

[0130] After providing the supplier information, a request from the userto view a catalog from one of the suppliers may be received. Theordering service may provide the user with a locally searchable andbrowsable data set comprising catalog information.

[0131] Catalog information for a given item may include, for example,name information, identification number information (including anyrelevant model number or SKU number), size information, colorinformation, material information, inventory information (includingindications of whether or what quantity of an item is stocked),customization information (including optional features, extra features,or personalization information). These types of information may besuitable for many different types of suppliers. In some embodiments,catalog information may include information suitable for a specific typeof supplier.

[0132] For example, when a supplier is a food supplier, cataloginformation may include entree information, side dish information,beverage information, dessert information, special item or entreeinformation, catering information (including information regardingavailability and pricing of catering services), and grocery information(including information about packaged foods, produce, meat, and othergrocery supplies). Catalog information may include graphical or videoinformation (e.g., TIFF files, GIF files, JPG files, MPEG files,bitmaps, or any other suitable graphic or video files) so that a usercan view, for example, the appearance of the supplier's facilities,supplies, or personnel.

[0133] An order, which may include, for example, one or more items, oneor more options or customized features, one or more services, or one ormore payment methods selected from the supplier's catalog, may bereceived from the user. The order may be stored in a database and theorder or related information is transmitted to the supplier selected bythe user.

[0134]FIG. 5 shows illustrative ordering system 1 in accordance withsome embodiments of the present invention. Ordering system 1, includingserver module 7 may be driven by any of the apparatus illustrated inFIGS. 1 and 2. In particular, in some on-line embodiments, for fileserving, searching, storing, grouping, calculating, and other necessaryfunction of system 1 or server module 7 may be provided by Internet andapplication server 104, database server 105, or a combination thereof.User 10 and suppliers 40 may interact with ordering system 1 usingaccess devices, such as devices shown in FIGS. 1 and 2. Ordering system1 may receive orders for items, merchandise, or services (hereinafter,“supplies”) from users 10 through order sites, such as order site 20.Order sites may have order engines (hereinafter, “order modules”) thatmay present supplier information, catalog information, and order-relatedcontent to users and receive user selections regarding the presentedinformation, assemble orders, and transmit orders and relatedinformation to order server 30. Order server 30 may pass orderinformation to suppliers 40. Suppliers 40 may provide cataloginformation to system 1. Order information may be passed through secureinternal interface 18 to administration engine 50 and accounting engine60.

[0135] Some order sites may provide users with order-related content.The order-related content for a given site may be keyed to cuisine,location, business promotion, or any other theme or interest. Order sitemay require that users have permission to order from the sites. Forexample, public site 20 may be open to users 10 from the general public.Order module 21 in order site 20 may receive order information fromusers 10 and transmit order information to order server 30. Public sitesmay be provided by a service provider to facilitate or promote the saleservices or products provided by a given supplier or family of suppliersor for any other reason.

[0136] Order sites may provide users with the ability to order suppliesfrom suppliers that may be selected for each site according to a varietyof supplier characteristics or site requirements. For example, a sitemay provide a user with the ability to order from suppliers that arelocated in a given area or whose supplies meet preset site criteria,which may be related to site content or business interests.

[0137] Groups of users that have common interests, business, oraccounting requirements may be given common permissions to order from agroup order site. For example, order site 22, provided with order module23 is a group site for Group Y of users 10. Site 22 may be restricted touse only by users 10 who are members of Group Y. Site 22 is anunadministered group site, because Group Y does not include anadministrative user. Unadministered group sites may be suitable fororganizations such as colleges and universities, clubs, associations,unions, companies, or interest groups that may benefit fromconsolidating orders and gaining access to preselected suppliers.

[0138] Order site 24 may be an administrated site for Group X of users10. Order module 25 may provide special content and ordering features tomembers of Group X. Group X may include one or more administrativeusers, such as administrative user 11. Administrative user 11 may havepermission to access administration module 27 of site 24. Administrationmodule 27 may be used to add, delete, or edit content or featuresprovided by order module 25.

[0139] Administrative user 11 may use administrative module 27 to add,delete, edit, and manage user information for Group X users and generalGroup X information that may be stored by administration engine 50. Userinformation may include identification, permission, locationinformation, and any other information relating to Group X users. GroupX information may include supplier selections, accounting codes, houseaccount information, billing information, and any other informationrelated to customized use of system 1 by Group X users.

[0140] Accounting engine 60 may receive order information from orderserver 30 in connection with orders placed by members of Group X. Forexample, administrative user 11 may generate reports detailing orders(including, e.g, items ordered, order costs, and billing particulars)placed by a given user or user subgroup. Administrative user 11 may useaccounting engine 60 to receive and analyze order information. Anadministered site, such as site 24, may be used by companies, firms,divisions, departments, partnerships, associations, agencies,subsidiaries, or any other organization or sub-organizational unit orentity.

[0141] Suppliers 40 may be organized into families such as Family A andFamily B for convenience or economy. Suppliers 40 that are members ofFamily A, for example, may share common catalog information. Forexample, one joint catalog may be registered in file server 80 whilemore than one of users 40 in Family A may be capable of fulfilling anorder from the joint catalog. A user 10 placing an order from system 1for an item in a Family A catalog may therefore be able to receivedelivery of merchandise from any supplier in Family A. The determinationof which supplier 40 within Family A actually fulfills the order may bemade based on proximity, inventory, or the preference of user 10.

[0142] In this example, Family A further includes administrativesupplier 42. Administrative supplier 42 may be an individual or group ofindividuals appointed to provide catalog information to system 1 andmanage orders received from system 1. System 1 may provideadministrative supplier 42 with tools for submitting Family A cataloginformation to file server 80, editing or managing Family A cataloginformation in file server 80, or implementing rules that determinewhich of suppliers 40 in Family A may fulfill a given order from a user10. An administered family, such as Family A, may be used by companies,firms, divisions, departments, partnerships, associations, agencies,subsidiaries, or any other organizations or sub-organizational units orentities that may benefit from the ability to manage one or more jointcatalogs or from access to family information from accounting engine 60.

[0143] Family B is an example of an unadministered supplier family.Unadministered supplier families may be used by companies, firms,divisions, departments, partnerships, associations, agencies,subsidiaries, or any other organizations or sub-organizational unit orentities that may benefit from the convenience or economy of sharing acommon catalog, but for whom the functions of an administrative supplier42 are unnecessary.

Open Catalog Standard

[0144] Some embodiments of the invention may transfer cataloginformation, order information, or other suitable transactioninformation between end users (e.g., consumers) and remote computers(e.g., suppliers) using standard data formats. In some of theseembodiments, an open standard, such as an Open Catalog Standard (“OCS”),is generally represented in steps 166, 168, and 176 of FIG. 4. Inaccordance with embodiments of the invention having OCS features, anordering service may provide standard data formats for receiving ordersfor supplies, submitting orders to suppliers, receiving cataloginformation from suppliers, and transmitting catalog information tousers.

[0145] In accordance with some embodiments of the invention, an orderingsystem may receive, process, index, compress, and/or store cataloginformation from a plurality of vendors or suppliers. The orderingsystem may provide an OCS to enable users to view the cataloginformation, interpret, or translate compressed or encoded cataloginformation.

[0146] Some embodiments may provide users with standard data formats forcreating and submitting orders. A user, which may be an independentordering site, may be qualified or certified by the ordering service asan authorized or approved user. Certification, authorization, orapproval may involve due diligence, auditing, or other measures forascertaining credit-worthiness, technical compliance, data qualitycontrol or assurance, and data freshness. The ordering service mayrequire, in addition to certification and compliance with orderingstandards, that a user present a password or an encrypted key. In someembodiments, keys may be provided to users upon initial approval. Usersmay include keys in an HTTP header or any packet of data transferredwith a recognized protocol. Some embodiments may receive encryptedtransmissions of orders or catalog information.

[0147] Additionally, the ordering service may provide an approved useror ordering site with permission and any codes necessary to requestupdated catalog information from a given supplier.

[0148]FIG. 6 shows illustrative server module 607 integrated intoordering system 601 with secure interfaces 614 and 616. Server module607 may transfer order information from ordering web sites such as sites620, 622, and 624 to suppliers 640 in a manner generally similar to thatof server module 7 shown in FIG. 5. Ordering web sites 620, 622, and 624may be internal to system 601. Users 610 and administrative users, suchas user 611, may have the benefits of administrative engine 650 andaccounting engine 660, which are analogous to administration engine 50and accounting engine 60 of FIG. 5, as described above.

[0149] The addition of secure interface 614 may enable server module 607to provide ordering services to external ordering sites, such asexternal ordering site 670, that are outside of ordering system 601.

[0150] Site 676 may receive orders from external users 672, using, forexample, external order module 679. Order module 79 may be of any designor architecture, including designs or architectures that differ fromthose of internal sites, such as sites 620, 622, 624, or any otherinternal sites that may be included in system 601.

[0151] In some embodiments, external site 670 may be provided withpermission, protocols, or standards necessary to submit orders to system601, for example, along path 676. External users 672 may be identifiableor completely anonymous to system 601. System 601 may treat ordersreceived from users 672 as if they originate at ordering site 670(although suppliers 640 may ship, deliver, or otherwise provide servicesand supplies directly to users 672). Billing procedures, used inconnection with internal sites, including credit card pricing methods(discussed below), may be used in connection with receipt of OCS ordersfrom external sites (not shown in FIG. 4). Although administrativeengine 650 and accounting engine 660 are shown communicating with servermodule 607, the functions of these engines may be reserved for users 610ordering through internal sites.

[0152]FIG. 7 is an illustrative data-flow diagram showing the use of anOCS-based ordering module and associated elements. FIG. 7 shows thatexternal ordering site 670, which includes external ordering module 679,may be equipped with filter 604 for translating order requests andorder-related requests into a form that may be compatible with therequirements of order server 630. Filter 604 may include an applicationprogramming interface and OCS requirements or explanations of OCSrequirements. For example order server 630 may require that externalorders use HTTP-based protocols (e.g., HTTP or S-HTTP), be coded using asuitable markup language (e.g., SGML or DHTML, or defined in accordancewith a meta language, such as XML), or structure order requestsaccording to any OCS format determined and controlled by a serviceprovider in connection with server module 607.

[0153] Supplier 640 may be provided with filter 608 that supplier 640can use to translate OCS order information into a format compatible withinformation system 609 of supplier 640. Filter 608 may include anapplication programming interface and OCS requirements or explanationsof OCS requirements. Filter 608 may translate catalog information fromthe format of information system 609 to OCS catalog information foruploading to file server 680.

[0154] External ordering site 670 may request catalog information fromserver module 607 and receive OCS catalog information from file server680. Filter 604 may translate OCS catalog information into a cataloginformation format used by server module 679.

[0155] Secure interface 614 may accept only OCS order requestsaccompanied by an encrypted key. Secure interface 614 may require thatthe encrypted key be received from an approved external ordering site.

Distributed Database Engine

[0156] Some embodiments of the present invention may include adistributed database engine (hereinafter, referred to as “DDEE”). Insome of the embodiments, this feature is generally represented in steps134, 148, and 182 of FIG. 4. The DDBE may distribute searching, sorting,grouping, translation, or other processes from a centralized database ordatabase server to a user access device. Some embodiments of the DDBEare described in U.S. Provisional Patent Application No. 60/245,503,filed Nov. 3, 2000, which is hereby incorporated herein in its entirety.

[0157] Features of some embodiments of the DDBE involve providing userswith opportunities to interact with the system, performing variousprocesses, or providing various displays. These and other steps may beperformed by, for example, a client application that is programmed togenerate or download screens suitable to provide such opportunities, anInternet browser that downloads suitable pages to provide suchopportunities, peer applications, or using any other suitable approach.In an on-line arrangement, access device 102 (as shown in FIG. 1), forexample, may be used to run client-based applications. In non-on-linearrangements, personal computer 112 (as shown in FIG. 2), for example,may be used to run client-based applications.

[0158] Other features of the DDBE may involve additional processing,such as searching, sorting, grouping, calculating, exchanginginformation and processing code, or other types of processing. Inon-line arrangements (as shown in FIG. 1), such processing may beperformed by access device 102, Internet and application server 104, ordatabase server 105, depending on, for example, the processing andstorage capabilities of access device 102, the chosen implementation forthe markup language documents used, the processing requirements of suchoperations, or other factors. In non-on-line arrangements (as shown inFIG. 2), such processing may be performed by personal computer 112,remote access device 113, application server 140, database server 105,or distributed among peer applications, depending on the chosen systemimplementation and the processing requirements of such operations.

[0159] The DDBE may be used, however, for any data having any type ofinformation content. For example, data content may include cataloginformation, financial information, reference information, bibliographicinformation, accounting information, scientific information, medicalinformation, genetic information, cartographic information, industrialprocess information, forensic information, sporting information, leisureand travel information, news information, entertainment information, orany other type of suitable information.

[0160] For the sake of simplicity and not of limitation, the DDBE willbe illustrated herein in the context of an Internet-based system forproviding restaurant information and opportunities to order foodon-line. In particular, this feature will be illustrated using theexample of providing restaurant information and ordering services toprospective customers.

[0161] A server may provide files from a database and provide anynecessary searching functionality to a user's access device. A user mayobtain search results from a local search in milliseconds. In somearchitectures, the interaction between a web server (or a front end typeof server) and the database server from which the web server receivesdata is usually a significant bottleneck in the flow of data to useraccess devices. In this distributed database engine feature, for theplacement of a given order, the database is preferably hit only twice:once when the user logs in and once when the user orders. The web serveris preferably hit only three times: once when the user is “located” (asdiscussed below), once when the user selects a restaurant menu, and oncewhen the user orders.

[0162]FIG. 8 illustrates multiple layers of processes that code may beloaded into browser 236 or another client application of user accessdevice 221. The code for these layers may be downloaded from a server tobrowser 236. Translation layer 201 may be loaded for data compressionand decompression. Object layer 202 may be loaded in browser 236 tostore data objects or other data structures that correspond to dataresident in database server 105 of FIG. 1.

[0163] Presentation layer 204 may be loaded to present data to a userand receive selections and instructions from a user. Data processinglayer 203 may be loaded to provide, for example: (a) search functionsthat extract data from the object layer and route data to thepresentation layer; and (b) analysis functions that receive presentationlayer instructions for analyzing object layer objects or search results.It will be appreciated that additional layers of code may be loaded intoan access device browser as necessary.

[0164]FIG. 9 shows an example of back end process layering. Compressionand decompression may be carried out in translation layer 206, which maycorrespond to Internet and application server 104 (shown in FIG. 1).FIG. 9 also shows object layer 207, which may be resident in Internetand application server 104 (shown in FIG. 1). Object layer 207 mayinclude data objects that correspond to data that may be included indatabase layer 208, which may reside in database engine 105 (shown inFIG. 1).

[0165] Data and processing techniques involving data exchange, sorting,grouping, searching, compressing, decompressing, presenting, or otherprocesses in accordance with some embodiments of the DDBE will beillustrated in the context of organizing and distributing restaurantinformation to a user.

[0166] A restaurant information database may be assembled by collectingand codifying restaurant information. Restaurant information has fields,or elements, that may include, but are not limited to, restaurant nameinformation, restaurant address information, restaurant cuisineinformation, restaurant services information (such as delivery ortake-out services), restaurant hours information, restaurant menuinformation, restaurant attire information, restaurant parkinginformation, restaurant location information, restaurant atmosphereinformation, restaurant review information, restaurant otherinformation, or any suitable combination thereof.

[0167] The restaurant information database (or other database suitableto the chosen embodiment) may be grouped into logical groupings. Forexample, restaurants may be grouped by geographical locations.Accordingly, users can “locate” themselves (identify their location) andthe database server may limit the transferred data, possibly upon theweb server's request, to a group containing restaurant information thatis relevant to the customer location. Restaurant information for each ofthe relevant restaurants may be processed or preprocessed into highlyoptimized text files, usable for searching, summarizing, and grouping.Processing or preprocessing may occur before logical grouping, afterlogical grouping, or both.

[0168]FIG. 10 shows a generalized example of restaurant informationrecord fields that may include fields 212. Fields 212 may includesearchable fields 214, which may be none, some, or all of fields of 212.A user may use fields 214 to search among data objects in a browser.Fields 214 may be fields that are chosen by a provider of the orderingsystem and made available to users. Fields 212 may be presented to theuser in the form of summary information that may be viewed by a userafter a search is performed.

[0169] In some embodiments of the invention, data may be stored,compressed, or downloaded to a user's browser in binary format. In someembodiments of the invention, data may be stored, compressed, ordownloaded to a user's browser in text format. FIG. 11 shows anillustrative example of data record 216 in a compressed text format.Record 216 may correspond to an individual restaurant and may includereference number 218, restaurant name 220, restaurant street address222, cuisine identifier 224, restaurant attributes 226, hours ofoperation information 228, field delimiter 219, and record delimiters230. As shown in FIG. 11, fields such as reference number 218, cuisineidentifier 224, restaurant attributes 226, and hours of operation 228may be stored (and transmitted) in base 62 digits. Record 216 mayinclude variable width fields (e.g., restaurant name) and fixed widthfields (e.g., a fixed number of characters indicating cuisine). Variablewidth fields (VWFs) may be delimited by field delimiters such as fielddelimiters 219. Fixed width fields (FWFs) may be grouped logicallytogether to avoid the need for delimiters between those fields.

[0170] When a field includes multiple attributes, the multipleattributes may be represented using bit masks. For example, a fieldcontaining restaurant services information may need to include more thanone service. Accordingly, each service may be assigned a digit in abinary structure. To represent multiple services simultaneously, the sumof the digits corresponding to each of the included services may beincluded in the restaurant services field. For example, if eat-in=1,take-out=2, delivery=4, and on-line ordering=8, then (eat-in andtake-out and on-line ordering)=11. For example, restaurant attributesfield 226 may include 4 base-62 digits. The first may represent servicesoffered, the second may represent average meal price, and the third andfourth may represent attributes such as non-smoking, romantic, orkosher.

[0171] Multi-digit integers, such as a large (or potentially large) bitmasks or reference numbers may be converted into base-62 digits. Base-62digits are obtained using the 26 upper case alphabetical characters, the26 lower case alphabetical characters, and the 10 1-digit numbers.Together, these 62 characters can be used to represent the numbers 0 to61 (or, alternatively, 1 to 62). Base-62 may be useful in Internet basedapproaches because these characters are typically not reserved bystandard browsers or programming languages.

[0172] Base-62 numbers may be converted to base-10 by using aone-dimensional array consisting of 62 elements. Each element of thearray contains one of the 62 base-62 characters (as described above).The elements of the array, maintained in a standard order to enableconsistent conversions, may associate each base-62 digit with thebase-10 value corresponding to the position of the base-62 digit in thearray. Accordingly, each digit of a given base-62 number may be read andconverted to base-10 value using the array. The base-10 values resultingfrom the conversion of the individual base-62 digits are summed toarrive at the base-10 number corresponding to the original base-62number. The conversion from base-62 to base-10 may be achieved using aformula such as:

N ₁₀=Σ_(i=0 to Σ) _(i=1) {A(D _(i))×62^(i)},

[0173] where D_(i) is the ith digit in a base-62 number of length I, andA (D_(i)) gives the base-10 value of the position of D_(i) in the 62element array. The same method may be used to convert from any base-N,where N is an arbitrary integer.

[0174] Hours of operation information 228 may include hours of operationof a restaurant for each day of the week and may be further optimized.Each day of the week may be viewed separately by a user, but days whosehours match the hours of other days may be grouped together. Forexample, hours of operation field 228 (also referred to as a “TimeDef”)may contain information such as “M, W, F 10:30 a.m. to 8:00 p.m. Therestaurant hours information may then be represented with a bit mask(e.g., 1=Sunday, 2=Monday, 4=Tuesday, etc.). Bit masks of days havinglike hours may be summed and converted to base-62. Using the presentinvention, most groups of days having like hours can be representedusing one character (and may never require more than two).

[0175] Hours may be generalized, or rounded, to the most appropriatehalf-hour. Half-hour rounding is accurate enough for the general searchby a user (actual restaurant hours of operation may be viewable in theform of summary information). For search purposes, one base-62 digit maybe used to represent the starting half hour for any day or group ofdays. (Only 48 digits are required to represent the 48 half-hours in a24 hour day.)

[0176] An additional base-62 digit may be used to represent the durationof hours of operation. Duration may be included in restaurant hoursinformation (and, therefore, in TimeDef). As a result of theaforementioned compression methods, restaurant hours information for anentire week may be represented using 3 to 12 characters (usually, nomore than 8 characters are required). Also, using a preliminary searchfunction, which may operate automatically in the user's browser,restaurants may automatically be labeled as open or closed before theuser has even selected a search criterion.

[0177] In some embodiments of the DDBE, data and functions (for example,JavaScript functions) may be organized using data structures. Datastructures that may be used in connection with some embodiments of theDDBE may include, but are not limited to, data objects that represent(1) a system engine for holding “state” variables of an entire orderingprocess, including values of data objects that follow; (2) a user; (3) alocation (e.g., a fixed place from which a user places an order orreceives delivery); (4) hours of operation; (5) cuisine or otherinventory attributes; (6) a supplier list (e.g., of records ofrestaurants or other suppliers); (7) a restaurant or other supplier; (8)a menu or catalog; (9) a category (e.g., subset of a menu or catalog);(10) an item (e.g., a menu item or catalog item); (11) a group ofoptions, an option, an extra, or any other customization feature; and(12) a payment method or payment (e.g., cash, credit card, houseaccount, and/or requisite purchaser information).

[0178] Data structures may include, for example, request data structuresfor requesting transmission of a given type of data from a host server,command data structures for initiating a data process in a given layerlocally or in the host server, and any other structures necessary fordata processing and exchange.

[0179] Data structures may include search and analysis functions forlocal database searching and browsing. Search functions may encoded, forexample, in JavaScript in the script library.

[0180] Data structures may be stored in the browser in the form of dataobjects that form an object layer. Data structures may be stored encodedin the main browser page, searched or browsed locally, and exchangedwith a host server as necessary for selection and submission of anorder.

[0181] Search results may be dynamically presented to the customer usingthe presentation layer. The presentation layer may contain drawingfunctions utilizing DHTML or other presentation logic such as thatavailable from Macromedia, Inc., of San Francisco, Calif., under thename Macromedia® Flash™.

[0182] A user may select items and options from a restaurant to form anorder. Order information may be gathered in a text format and maintainedin the local browser until the customer submits an order, e.g., byclicking on a Submit Button.

[0183] When an order is submitted, it may be passed as a single stringto the web server with suitable compression. An application server maythen process the order by communicating order information to therestaurant and may return confirmation information or other follow-upinformation to the user.

[0184]FIG. 12 shows browser 420 when user 410 initially logs onto anordering system, such as system 1 (as shown in FIG. 5). Browser 420 mayinitially include empty frame 421. At login, a request may be sent byuser 410 to request generator 402 of browser 420. Request generator 402,which may be a built-in browser feature, may transmit an unverifiedrequest object to request filter 405. Request filter 405 may determinethat user 410 has just logged in and that a DDBE should be installed inframe 421. Request filter 405 may then transmit a verified request forinstallation of a DDBE to server 480. Accordingly, server 480 may thentransmit DDBE code 422 to frame 421 in browser 420. As shown in FIG. 12,user 410 may receive HTML, or data in any other suitable format, asnecessary for the log-in or ordering processes.

[0185]FIG. 13 is an illustrative example of DDBE 435 after it has beeninstalled in frame 421 (as shown in FIG. 12). DDBE 435 may includetranslation engine 460 for decompressing compressed data from a server;object later 470, which may be populated by data and browser-residentfunctions decompressed by translation engine 460; data processing engine440 for searching, sorting, grouping, and otherwise manipulating dataobjects in object layer 470; and presentation engine 450, for presentingreadable text and graphics to user 410 and for receiving data from user410.

[0186]FIG. 14 shows DDBE 435 installed in browser 420. User 410 mayselect a location to receive delivery of an order. When a location isselected, an unverified request object corresponding to a request for alist of suppliers may be received by request filter 404. Request filter404 may generate a verified request object that has any formatting orordering process state variable values that file server may require toreturn an appropriate list of suppliers to user 410. If user 410 submitsa location that is known to server 480, file server 410 may return alist corresponding to the location. If the location is unknown to server480, a new list may be generated by geozoning engine 490 (as shown inFIG. 15 and discussed in greater detail below). A compressed data file,such as data compressed data file 482 may be transmitted to DDBE 435 fordecompression, any desired local analysis, and presentation to user 410.

[0187]FIG. 16 is a general illustration of DDBE 435 in a datapresentation mode. Compressed data may be received and uncompressed bytranslation engine 460 and retrieved, as necessary, by presentationengine 450 for presentation to user 410. Data processing engine 440 isshown disconnected from presentation layer 450 and object layer 470, butmay be active in the presentation process. For example, data processingengine 440 may provide user 410 with interactive functions for selectingand manipulating data objects. Data processing engine 440 may providesystem functions to presentation layer 450 that may be necessary fordata presentation.

[0188]FIG. 17 is a general illustration of DDBE 435 in a data analysismode. Data processing engine 440 may retrieve, sort, search, group, orotherwise analyze data objects in object layer 470. The data objects maythen be presented to user 410 through presentation engine 450. FIG. 17also shows that user 410 may provide requests to data processing engine440 using presentation engine 450.

[0189]FIG. 18 is an illustrative example of data flow when DDBE 435 isin a data analysis mode, as shown in FIG. 18. User 410 may submitrequests for data analysis or presentation (e.g., a search command) torequest filter 404. Request filter 404 may provide DDBE 435 with arequest for analysis that is readable by presentation engine 450. Noclient/host interface is shown in FIG. 18 to emphasize that in at leastthe data analysis mode, there may be no need to transmit user-generatedrequests or commands to a remote or central server. Conversely, theremay be no need to transfer data or search results from a central server.

[0190] In some embodiments of the DDBE, special functions that modify,delete, or replace the features or capabilities of the DDBE may beloaded as necessary. Referring, for example, to FIG. 13, functions maybe downloaded to alter the functionality of presentation engine 450,data processing engine 440, or translation engine 460. In some of theseembodiments, data in other parts of the object structure, including, forexample object layer 470 (FIG. 13), may be manipulated. For example, aline of code (for example, in JavaScript) that references a particularobject in the object layer and changes the value of one or more objectattributes may be downloaded.

[0191] In some embodiments of the DDBE, compressed data, (for example,compressed data files or compressed data as shown in FIGS. 14-16) mayinclude, or be packaged together with, functions that are selected orpreselected to provide functionality related to the compressed data or arequest for the data originating from the user, the user's browser, orthe user's access device. For example, compressed data includinginformation about a restaurant and its menu may be packaged togetherwith a function for drawing the menu that differs from a DDBE defaultmenu drawing function that was previously loaded in the browser. Thistype of function may be used, for example, when all members of a chainof restaurants are required to use a standard menu display.

[0192] In some embodiments, this feature of the DDBE may be used toprovide different user interface features or capabilities. For example,specialized presentation layer functions may be downloaded to providedisplays and data entry tools for Group ordering or Graphical CustomOrders, as discussed below.

[0193]FIG. 18a shows a flowchart of illustrative steps involved inimplementing some features of the of the DDBE that may include providinga user with data and accompanying specialized functions for modifyingDDBE functionality. The steps shown in FIG. 18a are only illustrativeand may be performed in any suitable order. In practice, there may beadditional steps or some of the steps may be deleted. For clarity, thefollowing discussion will describe the steps shown in FIG. 18a as beingperformed by “the system,” which is intended to include any suitablee-commerce system, such as, for example, any non-on-line or on-linearrangement suitable for performing the steps.

[0194] In step 401, the system may receive catalog data from suppliersand input the catalog data into a database. In step 403, one or morespecial functions may be identified for providing specializedpresentation, analysis, or other special features, or for setting valuesof structures in a DDBE object layer. If no specialized DDBEfunctionality is desired, the process may skip to step 408. Ifspecialized DDBE functionality is desired, required specialized DDBEcode may be retrieved from a database or input from any other suitablesource in step 406. In step 408, the catalog data may be compressed. Instep 409, compressed catalog data may be packaged with any special DDBEcode for transmission to the DDBE of a user's browser. On receipt of arequest for supplier information from a user (step 411), the packageddata and code may be downloaded to the user's browser (step 412). Thedownloaded code may provide DDBE functionality related, for example, toDDBE processes 413 (data decompression or translation), 414 (datapresentation), 415 (data analysis). The downloaded code may also modifythe ways processes 413-415 interact with each other (DDBE modification416).

Push Engine

[0195] In some embodiments, the invention may provide systems andmethods for selectively replacing content in a display of a web pagethat is displayed by a user access device. In some of the embodiments,this feature is generally represented in step 178 of FIG. 4. The displaymay be driven by a browser that presents the web page to a user. Thecontent of the display may be replaced by data from a server incommunication with the access device via an electronic communicationnetwork.

[0196] The server may provide data (destined to replace content of thedisplay) to the browser for storage in a frame of the browser. The datamay be provided in the format of a web page. The frame may be a hiddenframe. Subsequently, selected portions of the display content may bereplaced with data from the hidden frame without requiring a viewablepage refresh. Periodically, the frame, using any commonly availablebrowser refresh function, may poll the server for updated data.Browser-resident functions may be provided by the server to selectivelyreplace display content with fresh data from the hidden frame. Thesefunctions may form the core of a “Push Engine” for updating the display.A similar push engine is described in U.S. Provisional PatentApplication No. 60/191,205, filed Mar. 22, 2000, which is herebyincorporated herein in its entirety.

[0197] In some embodiments of the invention that include the PushEngine, the user may be substantially continuously provided with currentinformation provided by an ordering system without interruption by aviewable page refresh. The Push Engine may be used to display orderinformation, which may include any data relevant to an order, including,but not limited to information about the order originator, the supplieror intended supplier, the item or services ordered, billing information,and order processing information. Any data generated by an orderoriginator, a supplier, any other system user, or the ordering systemitself may be displayed using the Push Engine.

[0198] In certain embodiments, it may be desirable to permit a givenuser to view only limited information. For example, the Push Engine maybe used as an order tracker for use by an order originating user. Afterplacing an order using the system, an order originating user may use thePush Engine to substantially continuously observe the status of theorder. The order originator may be limited to viewing only informationrelated to the content of the order (e.g., particulars of the items orservices ordered) or the status of the order (e.g., “received bysupplier” or “order delivery in progress”).

[0199] The Push Engine may be used by a supplier to receive orders. Forexample, the Push Engine may provide warehouse personnel with real-timedisplays of orders to improve order fulfillment efficiency. As anotherexample, the Push Engine may be used in the kitchen of a restaurant toprovide workers with order information as soon as the restaurantreceives it. In these examples, suppliers may be permitted to view onlythe order information required for fulfillment, for example, itemnumbers, quantities required, and delivery methods. Supplier accountingpersonnel may be permitted to see billing information in addition toorder content information.

[0200] Additionally, the Push Engine may be used by a customer servicerepresentative for overseeing the progress of an order in connectionwith assisting customers and solving order processing problems. Acustomer service representative may need to view a broader scope of datathan an order originating user or a supplier.

[0201]FIG. 19 shows an illustrative push engine 800 in browser 820 of auser access device. User 810 may view content 812 of current page 814.Content 812 may include markup language script, such as HTML, fordisplaying data on a display (not shown) that may be viewed by user 810.Presentation engine 850 may generate content 812 using data objects thatmay be received or retrieved from object layer 870 in push engine 800.Presentation engine 850 may include functions, which may be written inJavascript or any other suitable scripting language, that mayselectively replace portions of content 812 without requiring a completedisplay refresh.

[0202] Push engine 800 may include automatic refresh request generator802, which may include a built-in automatic refresh function of browser820. Automatic refresh request generator 802 may generate an unverifiedrequest for a frame refresh for hidden frame 804. The unverified requestmay be passed through request filter 804 to generate a verified requestthat may include any browser state variables, push engine statevariables (which may include current data frame URLs, permission levelsfor user 810, or any other information necessary to specify the requiredinformation or data format), or order server variables that may benecessary for order server 830 to process the request.

[0203] Order server 830 may continuously receive updated orderinformation from an order database server (e.g., database server 105shown in FIG. 1) that provides data from an order database (not shown).The order database may include records from every order received from anordering system, such as system 1 shown in FIG. 1. Therefore, when orderserver 830 receives a verified request from push engine 800, orderserver 830 may fulfill the request by sending current data back to pushengine 800.

[0204] Translation engine 860 in push engine 800 may receive compresseddata from order server 830 and decompress the compressed data into dataobjects that may fill object layer 870. Presentation engine 850 mayselectively replace portions of content 812 with data from object layer870. This may generate a display that has portions that may appear to bedynamically updated.

[0205] In some embodiments, features of push engine 800 may be modifiedby downloading specialized functions to browser 804 from a server (notshown) that may be linked to order server 830. For example, presentationengine 850, object layer 870, and translation engine 860 may be modifiedusing downloaded functions in accordance with principles of the DDBEdescribed above.

[0206]FIG. 81 is an illustrative display that may be created by pushengine 800. Content 812 includes fixed content, such as various searchmechanisms, and dynamic content, such as attention item 4112 and counterdisplay features 4116. For example, one counter display feature 4116shows a number of orders received by order database server 105 (shown inFIG. 1) that require the attention of user 810, who may be a customerservice representative. As the number of orders requiring attentionchanges, only the number in one of the counter display features 4116 maybe updated using push engine 800. The fixed search mechanisms may remainunchanged and may be displayed continuously.

Geozoning System

[0207] Some embodiments may select suppliers according to the locationsof a user and prospective suppliers. In some of the embodiments, thisfeature is generally represented in steps 146 of FIG. 4. In someapproaches, geographical areas may be divided into regions. A supplierinside or on the border of the region associated with a user's locationcan be identified and presented to the user. The borders of the regionmay be selected to exclude suppliers that are located more than apreselected distance from the user's location. The preselected distancemay be selected based on convenience to the user or the supplier. Thepreselected distance may be chosen to include a suitable number ofsuppliers from which the user may choose.

[0208] Borders may be selected to conform to defined areas of a giveneconomic market, state, city, county, range and township area,municipality, neighborhood, borough, or region bounded by a givenroadway, river, or other cartographic feature. Suppliers may bepresented to the user in a list arranged in order of ascending ordescending distance from the user.

[0209] Locations of users, addresses of suppliers, and borders ofregions may be defined using latitude and longitude or other geodeticcoordinates. (“Coordinates” will be used hereinafter to refer tolatitude and longitude.) After a region is defined, suppliers whosecoordinates fall within the region may be selected and presented to theuser.

[0210] Some embodiments of the invention may include determining if auser lies within one or more delivery areas of a supplier. (Deliveryareas may be defined by suppliers using factors other than proximity ofthe supplier to the user, including, but not limited to those featuresthat may be used to define a region, as discussed above.) A supplier mayhave different delivery areas having different delivery charges. In someof these embodiments, the user may have a location and a zone thatincludes the location. The zone is an area that may be defined by usingany suitable method to determine high precision estimates of thecoordinates of the location. After the coordinates are determined, thecoordinates may be rounded or truncated to lower precision and used torepresent the zone as a polygon. (The lower precision coordinates may beused as midpoints of line segments or endpoints of line segments forminga trapezoidal polygon (for rounding and truncating methods,respectively)). Another way to define a zone is to use pre-existingzones, e.g., United States Postal Service Zip Codes.

[0211] The first step in determining if the user is located within adelivery area is to test if the zone is within the delivery area. If thezone is within the delivery area, the user location is also within thedelivery area. If the zone is outside of the delivery area, the locationis also outside of the delivery area.

[0212] A zone may be partially within a delivery area and partiallyoutside of the area. In this case, a polygon may be identified that isdefined by an area of overlap between the delivery area and the zone.Any suitable technique may then be used to determine if the userlocation is in the overlapping polygon. If the user location lies withinthe overlap polygon, the user lies within the supplier delivery area. Ifthe user location does not lie within the overlap polygon, the user isnot located within the supplier delivery area.

[0213] The system may present the user with supplier information thatincludes delivery service information. Calculation of truncatedcoordinates, any necessary vertices of delivery areas, and thedetermination if a zone lies within or without a delivery area may bemade by a system processor, or “geozoning engine.” The system may thenprovide to a user a delivery attribute indicating delivery status (e.g.,“Does Deliver,” “Does not Deliver,” “May Deliver” or “Delivers at costof $X.XX”, where $X.XX may be a delivery charge determined for theuser's location). Taxation rates applicable to sales in a delivery areamay be retrieved (e.g., from a database) for calculating amountsreceivable in connection with an order or for accounting purposes.

[0214] In some embodiments, delivery information may be archived withsupplier information for a given zone. For example, once a list ofsuppliers is associated with a given zone based on distance,convenience, or any other relevant factor, delivery information for eachsupplier in the list may be incorporated into the list. The list maythen be stored in an optimized, compressed, or otherwise processed form.Subsequently, the system may rapidly provide the list to any user fromthe same zone.

[0215] For suppliers whose delivery area overlaps the zone, a user inthe zone may receive a “May Deliver” attribute. The system may provide afunction for locally calculating (e.g., in the user's access device, viaa browser) delivery in accordance with the methods described above. Thecalculation may be performed automatically in the browser of a user'saccess device. Additional efficiency may be obtained by storing andtransferring coordinates in a compressed format, for example, using abase-62 mathematical mapping.

[0216]FIG. 5 shows that user 10 may submit an order to a supplier 40using system 1. System 1 may provide catalog information 82 to user 10.Catalog information 82 may include a list of suppliers that conform tocriteria, which may specify proximity between supplier 40 and user 10.

[0217]FIG. 14 shows that server 480 may receive order information 434from user 410. Order information 434 may include location information481, which may specify the geographical address of user 410. If server480 receives location information 481 corresponding to a location knownto system 1, server 480 may retrieve a supplier list corresponding tothe known location. In some embodiments, this may be accomplished byincluding a list identification code in a location data object. Alocation data object may be initialized with a location value when user410 first accesses system 1. User 410 may have one or more locations,each of which has a corresponding list or list identification code. Insuch an embodiment, server 480 may use the list identification codedirectly to retrieve the corresponding supplier list.

[0218] If server 480 receives location information 481 corresponding toa location that is new to system 1, server 480 may pass locationinformation 481 to geozoning engine 490. Geozoning engine 490 may useany suitable algorithm to convert location information 481 into geodeticcoordinates.

[0219]FIG. 20 shows logic that an embodiment of the invention may usechoose a supplier list for user 410 (as shown in FIG. 14). After user410 chooses a location, server 480 determines if the location is new, or“known,” to the ordering system (e.g., system 1 of FIG. 5). If thelocation is known, a supplier list may be retrieved from a web server(such as Internet Application server 104, shown in FIG. 1) using a listidentification code. The retrieved list is then presented to the user.FIG. 14 shows server 480 transmitting a retrieved list in the form ofcompressed data file 482 back to user 410.

[0220]FIG. 20 also shows that if server 480 determines that a receivedlocation is new to system 1, server 480 may pass the new user locationto geozoning engine 490. Geozoning engine 490 may use any suitablealgorithm or utility to convert, or “geocode,” the new user locationinto geodetic coordinates. By truncating the coordinates at a givennumber of significant figures, a trapezoidal region, or “zone,” thatcircumscribes the new user location is defined. In some embodiments, newzones may be defined using U.S. Postal Service Zip Codes. If a supplierlist associated with the zone resides in the system, the supplier listmay then be retrieved.

[0221] If user 410 is a member of a group, the list retrieval processmay be expedited. For example, FIG. 1 shows that users 10 may be membersof Group X or Group Y. FIG. 20 shows that geozoning engine 490determines if user 410 is a member of a group. If user 410 is a memberof a group, geozoning engine 490 checks to see if the user and the group(which may itself be associated with a location) have a shared locationin the user zone. If there is a shared location, geozoning engine 490may take the existing supplier list identification code from a dataobject that includes attributes of the group, associate it with the newuser location, and pass the supplier list identification code back toserver 480. The list corresponding to the supplier list identificationcode may then be presented to the user.

[0222] When geozoning engine 490 determines that a user, such as user410 shown in FIG. 14, is not a member of a group, a default list may bepresented to user 410. Each zone served by system 1 (of FIG. 5) may beassociated with a supplier list and a corresponding supplier listidentification code. Geozoning engine 490 may associate the defaultsupplier list identification code with the new user location, pass thedefault supplier list identification code to server 480. Server 480 maythen present the corresponding list to the user.

[0223] FIGS. 21-23 show different relationships between a zone and asupplier's delivery area. A supplier list presented to a user mayinclude suppliers that have fixed delivery areas. (For example,suppliers may be included in a default supplier list for a zone based onproximity to the zone. A supplier may have independent deliverycriteria, however, or may not offer delivery service.) A delivery areamay exclude, include, or overlap with a zone.

[0224]FIG. 21 shows a delivery area that excludes the zone of a user.Geozoning engine 490 may associate a “Doesn't deliver” attribute withsuch a supplier in supplier lists associated with the zone orcircumscribed locations. When user 410 (as shown in FIG. 14) receivesthe list, the delivery attribute may help user 410 select an appropriatesupplier.

[0225]FIG. 22 shows a zone completely circumscribed by a delivery areaof a supplier. When this supplier is listed in a supplier list for thecircumscribed zone, geozoning engine 490 may associate a “Does Deliver”attribute, and any delivery charge or sales tax informationcorresponding to the delivery area (sales tax information may includesales tax rate information and may include different rates for differenttypes of supplies and services), with such a supplier.

[0226]FIG. 23 shows overlap area 950, which may be a polygonal overlaparea, that may result when delivery area 970 partially overlaps zone980. Geozoning engine 490 (as shown in FIG. 14) may associate a “MayDeliver” attribute with a supplier when the supplier is included in adefault list for zone 980, but whose delivery area 970 partiallyoverlaps zone 980. The use of a “May Deliver” attribute enables anordering system, such as system 1 as shown in FIG. 5, to maintainarchives of preprocessed supplier lists with at least some deliveryinformation. This data organization and transmission strategy decreasesthe response time of a file server, such as server 480 shown in FIG. 14.

[0227] Coordinates of vertices 960 of overlap area 950 and coordinatesof location 990 may be transmitted to a user for local determination ofwhether location 990 lies within overlap area 950. If location 990 lieswithin overlap area 950, the supplier does deliver to the location. FIG.14 shows that the local determination may be performed, for example, bydistributed database engine 435 using data processing engine 440 inbrowser 420. In some embodiments, delivery charge or tax ratedeterminations for “May Deliver” suppliers may be performed locally.

[0228]FIG. 24 shows a flowchart of illustrative steps involved inimplementing some embodiments of the of the present invention that mayinclude providing a user with indications about the availability ofdelivery services for suppliers. The steps shown in FIG. 24 are onlyillustrative and may be performed in any suitable order. In practice,there may be additional steps or some of the steps may be deleted.

[0229] For clarity, the following discussion will describe the stepsshown in FIG. 24 as being performed by “the system,” which is intendedto include any suitable e-commerce system, such as, for example, anynon-on-line or on-line arrangement suitable for performing the steps.

[0230] The system may preprocess lists of suppliers in step 920.Preprocessing may involve gathering supplier information in step 922.Supplier information may include, for example, supplier names,addresses, delivery areas. The system may then divide a geographicregion of users and suppliers into zones (step 924). A geographic regionmay be, for example, a major metropolitan area, a rural county, or anyother cartographically definable region. In step 926, the system maygenerate zone default lists for each zone. A zone default list is a listof suppliers and supplier information for suppliers assigned to thezone. Suppliers may be assigned to zones on the basis of proximitybetween suppliers and users, marketing, distribution channels, or anyother basis. A supplier may be assigned to more than one zone.

[0231] In step 928, the system may determine delivery attributes foreach supplier on each zone default list. Delivery attributes mayindicate whether or not the supplier delivers everywhere in the zonecorresponding to the zone default list in which the supplier isincluded. If the zone falls entirely within the delivery area, thedelivery attribute may be set to “Does Deliver.” If the zone fallsentirely outside of the delivery area, the delivery attribute may be setto “Does Not Delivery.” If the zone and the delivery area overlap, thedelivery attribute may be set to “May Deliver.” In step 930, deliveryinformation, including delivery attributes and related information, maybe added to the zone default lists in connection with the respectivesuppliers.

[0232] If a delivery attribute is “Does Deliver” or “Does Not Deliver,”the system may add the appropriate attribute to the zone default lists(step 932). If a delivery attribute is “May Deliver,” the system may addthe “May Deliver” attribute to the zone default lists (step 936). Thesystem may determine coordinates defining the region of overlap betweenthe zone and the delivery area (step 938) and add the coordinates to thezone default lists. Delivery attributes and coordinates may be added tothe list in compressed form using bit-masking (for delivery attributes),truncation or rounding (for coordinates), and conversion to base-Ndigits (wherein N may be any integer).

[0233] In step 942, the system may receive an indication of a userlocation. In step 944, the system may provide the user with a zonedefault list corresponding to the user's indicated location. Step 944may include presenting the list using features of a distributed databaseengine. In step 946, the system may download any data processing toolsnecessary for ascertaining whether suppliers with a “May Deliver”delivery attribute do or do not deliver. The data processing tools maybe downloaded to a user's access device as compressed data objects. Dataprocessing tools may be decompressed and activated using features of adistributed database engine.

[0234] In step 948, the data processing tools are used in the user'saccess device to ascertain, for each “May Deliver” supplier on theprovided zone default list, if “May Deliver” suppliers deliver to theuser's location or not. This determination may be made, for example, bydetermining if the user's location falls within the region of overlapencoded into the zone default list in step 940.

[0235] In step 949, the system may present the user with affirmative ornegative indications that indicate whether or not a supplier on the zonedefault list delivers to the user's location. Step 949 may utilize thepresentation engine features of the distributed database engine. Step949 may include receiving a user indication of a selection of a supplierand presenting the user with a message such as “Delivers To You” or“Does Not Deliver To You.”

Accounting Codes

[0236] Some embodiments of the present invention may include anaccounting codes feature. In some of the embodiments, this feature isgenerally represented in steps 164, 165, and 182 of FIG. 4. Someembodiments of the accounting code feature are described in U.S.Provisional Patent Application No. 60/245,826, filed Nov. 3, 2000, andU.S. Provisional Patent Application No. , filed Jan. 2, 2001, (AttorneyDocket No. ATG-6 PROV2), both of which are hereby incorporated herein intheir entirety.

[0237] Accounting codes may be used in connection with an orderingsystem, such as ordering system 1 (as shown in FIG. 5), by users,administrative users, and any other users who need to track orders orassociated billing information. Some aspects of this feature may involveproviding users with opportunities to interact with the system,performing various processes, or providing various displays. These andother steps may be performed by, for example, a client application thatis programmed to generate or download screens suitable to provide suchopportunities, an Internet browser that downloads suitable pages toprovide such opportunities, peer applications, or using any othersuitable approach. In an on-line arrangement, access device 102, forexample, may be used to run client-based applications. In non-on-linearrangements, personal computer 112, for example, may be used to runclient-based applications.

[0238] Other aspects of this feature may involve additional processing,such as searching, grouping, calculating, generating reports, andcommunicating with other systems, or other types of processing. Inon-line arrangements (as shown in FIG. 1), such processing may beperformed by access device 102, Internet and application server 104, ordatabase server 105, depending on, for example, the processing andstorage capabilities of access device 102, the chosen implementation forthe markup language documents used, the processing requirements of suchoperations, or other factors. In non-on-line arrangements (as shown inFIG. 2), such processing may be performed by personal computer 112,remote access device 113, application server 140, database server 105,or distributed among peer applications, depending on the chosen systemimplementation and the processing requirements of such operations.

[0239] For the sake of simplicity and not of limitation, the accountingcodes feature will be illustrated herein in the context of anInternet-based system for providing restaurant information andopportunities to order food on-line. This feature of the invention maybe used, however, in connection with the placement of orders for anytype of services or merchandise. In particular, this feature will beillustrated using the example of providing restaurant information andordering services to users 510 of Group X using illustrative system 501as shown in FIG. 25. System 501 may be a simplified version of system 1,as shown in FIG. 5.

[0240] In the context of this feature of the invention, a group may beany organization or entity having member users that issue orders tovendors of merchandise, supplies, materials, or services, and in whichthe organization desires to track those orders according to theorganization's activities, functions, affiliates, patrons, or clients.(Groups and relationships between groups and users are discussed above.)

[0241] Tracking orders and order patterns of users 510 can be importantfor increasing organizational efficiency and minimizing losses(including those due to error and fraud). Some embodiments of thisfeature may provide systems and methods for increasing organizationalefficiency and for minimizing losses in connection with the placement oforders. Accordingly, some embodiments of this feature may providesystems and methods for identifying orders (or portions of orders) andrelating them to associated information using accounting codes.

[0242] When user 510 places an on-line order, system 501 may prompt user510 for any appropriate order information. Order module 525 in group Xordering site 524 may provide user 510 with a user interface featuresfor exchanging information with system 501. The user interface featuresmay be provided through presentation engine 450 of DDBE 435, as shown inFIG. 13.

[0243] Order data entry forms and accounting code fields may be providedto users 510 for entering expensing data in connection with orders.Expensing data may be in the form of accounting codes. A user may enterany appropriate accounting codes. System 501 may prompt user 510 toassign one or more accounting codes to a given order. Order expenses maybe divided or split among multiple accounting codes according to cost,specific items or services, accounting code groups (in cases where codesare logically grouped according to organizational functions, e.g.,client or department), any other accounting function or code, or acombination thereof.

[0244] Accounting codes may be stored with order information (which mayinclude electronic transaction receipts). Order information may be savedand indexed, for example, in a database or other data-storage device.Some embodiments of the invention may provide reporting functions tosearch the stored order information. Reporting processes may be runusing accounting engine 560. Accounting engine 560 may include adatabase for order and accounting information. Accounting engine 560 mayreceive order and accounting information from order server 530.Administrative user 511 may use administrative module 527 in Group Xsite 524 to submit requests for data, analysis, reports, or otherinformation products to accounting engine 560. Reports and data may bereturned to administrative user 511 using administration module 527, orany other means, which may include e-mail, fax, or postal service.

[0245] Administrative user 511, who may be a system administrator,organization accountant, or other designee of Group X, may requestreports in connection with a variety of analyses. For example, system501 may provide administrative user 511 reports for any given timeperiod, order placement history, patterns, and costs associated withgiven users, accounting codes, suppliers, and projects.

[0246] Administrative user 511 may customize an expensing program forGroup X interactively, using a administration module 527. For example,administrative user 511 may provide the names of expense codes (e.g.,Client Code, Matter Code, User Code, and Project Code) and formattingparameters of the codes (e.g., the number or type of characters in acode). Administrative user 511 may provide to accounting engine 560, andmay periodically update, a list of current and valid accounting codes.The list may be keyed in at web site 524 or uploaded to accountingengine 560 from a user access device. The accounting code list may beused to validate codes entered by users 510.

[0247] Administrative user 511 may activate an expense code validationprocess based on a list of valid and current expense codes. Thevalidation process may run in accounting engine 560 (in connection withcodes received by order server 530 from order module 525). After user510 enters a code to expense an order, the code may be checked againstthe list of valid and current codes. If user 510 enters a code that isnot included in the valid code list, user 510 may be informed that thecodes are not listed. The company or service provider may choose toallow the user to enter the order using the invalid code or to changethe code. If an order is placed using an unlisted or otherwise invalidcode, the order may be flagged for later investigation and an electronicmail notification of the suspect transaction may be sent automaticallyto administrative user 511 or the Group X accounting department.

[0248] Administrative user 511 may provide text or other information toaccounting engine 560 that describes Group X's order-expensing policies.The policy-oriented text, or any other text, may be presented to users510 when they log in or enter accounting codes using order module 525.The text may be conveyed to order module 525 via order server 530 or byany other suitable server (not shown).

[0249] Administrative user 511 may provide a list of users and useridentifiers to accounting engine 560 for validation of orders ortransactions submitted by users 510. (User e-mail addresses may be usedas user identifiers.) Administrative user 511 may associate each userwith one or more permission levels to control access to administrativeand accounting functions of the accounting site and to enforceorder-expensing policies. (Each permission level may have acorresponding set of order-expensing rules or restrictions. Orderexpensing rules may impose restrictions based on order-relatedinformation including, but not limited to, user position (e.g., partner,associate, or assistant), time of day, and expense code. For example, arule established at the associate permission level may state thatassociates can expense $25.00 for dinners between 7:00 p.m. and 1:00a.m. during weekdays. Another rule may limit the amount that may beexpensed for a particular client for a food order.

[0250] Using Group X expensing rule information, accounting engine may,via order server 530 or another server, display warnings to user 510 atthe time an order is assembled using order module 525. A warning may bekeyed to one or more elements of the order (e.g., the permission levelor position of user 510, the time of day, or the expense codes chosen byuser 510). Administrative user 511 may place special limitations onusers'expensing privileges in accordance with Group X policy orexpensing rules. For example, a user's privilege to order via a houseaccount can be turned off in response to abuse by the user.

[0251] Users 510 may be enabled to enter a Group X account number for agiven restaurant to charge a food order to the corresponding houseaccount. Restaurant account charges and project, client, and matterexpense codes associated with the order may be stored by system 501 andaccessed by or transferred to administrative user 511 for subsequentaccounting, reconciliation, and billing tasks. (For example, at thediscretion of administrative user 511, user 510 may charge a personalorder to a house account and enter his user identification number and/oran appropriate expense code so Group X can subsequently bill user 510.)When a house account is not available, user 510 may pay the restaurantfor the order using, for example, cash, a personal credit card, or acredit card owned by Group X for either a personal order or a Group Xorder.

[0252] In some embodiments of this feature of the invention, system 501may provide a company with a bill consolidating all charges to houseaccounts made by users of a user group during a given billing period.Accordingly, for all of those restaurants holding house accounts for thegroup, the group would receive a single bill and make a single payment,for example, to the system 501 or a service provider that providessystem 501 to users.

[0253] When an order is submitted to system 501 by user 510, orderinformation, including project, client, matter, and expense splittingcodes and information are stored in a database on any suitable storagemedium. Subsequently, they may be accessed by administrative user 511for accounting purposes.

[0254] Accounting engine 560, which may include an expense reportingengine (not shown), may generate reports that include any informationassociated with a given order, including the full text of the order. Theexpense reporting engine may provide summary reports or detail reports.The reports may be viewed, printed, or downloaded in any suitableformat. Accounting data may be accessed by administrative user 511 orother authorized users and reports may be generated 24 hours a day.

[0255] A report may list any set of users 510 selected by administrativeuser 511. Such a set may include all users 510 in Group X, a single user510, or any subset of users 510 that is useful for Group X accountingpurposes or other purposes. Similarly, the system may generate reportsbased on any set or subset of any of the order information elements. Forexample, a report may show only those orders placed with a particularrestaurant, at a particular time of day, or having a particular total.(Tools for generating these reports are not shown).

[0256] Reports may include an order identifier (“order I.D.”). The orderI.D. may be a unique number that may be used throughout the system toidentify, access, group, and file orders. The order I.D. may be assignedto an order by order module 525 at the time an order is created. Thedetailed report also displays any adjustments that may have been made toan order total. Adjustments may be made by administrative user 511 toreconcile accounting discrepancies or correct errors. Reports mayhighlight ordering activity that violates company rules, exceedspredetermined threshold spending values for a given category ofspending, or uses invalid or outdated expense codes.

[0257] Some embodiments of the accounting codes feature of the inventionmay be implemented in connection with a DDBE (Distributed DatabaseEngine) using data objects within a layered system architecture toinput, store, index, sort, display, and output order information. Majorlayers may include a database or data object layer for storing dataobjects, a presentation layer for providing a user interface, and atranslation layer for moving information between the data object andpresentation layers.

[0258] Each type of object may include attributes that are necessary forprocessing information associated with that object. For example, a groupmay be represented by a group object that has attributes including useridentifiers and valid expense codes. A user may be represented by a userobject that has attributes including position (e.g., partner, associate,clerk). A food order may be represented by an order object that hasattributes including menu items, total amount, and the identifier of theuser who placed the order. Order module 525 may use an order engine dataobject. Data objects may be stored in an object layer or database layerwithin an user's local browser.

[0259] Some embodiments may include an expensing rule processing modulethat applies expensing rules to order-related data objects to enforceorganization expensing policies. Functions based on organizationexpensing rules operate on attributes of relevant data objects and maybe evaluated to determine if an order is in compliance with the rules.Rule specific functions may be coded using C-like syntax (e.g.,JavaScript).

[0260] Expensing rule functions may be stored in a web or databaseserver within system 501 and transferred to a user's local browser wherethey may be stored in an object layer of a database. The expensing ruleprocessing module may activate functions and may evaluate them based onthe values of predetermined data object attributes. Function activationand evaluation may be localized in the translation layer and functionoutput may be channeled to a user via the presentation layer.

[0261]FIG. 26 shows a general flowchart of illustrative steps involvedin using some embodiments of the accounting codes feature of the presentinvention. In particular, FIG. 26 shows steps involved in processingaccounting codes associated with a user who is a member of a group. Thesteps shown in FIG. 26 are only illustrative and may be performed in anysuitable order. In practice, there may be additional steps or some ofthe steps may be deleted.

[0262] For clarity, the following discussion will describe the stepsshown in FIG. 26 as being performed by “the system,” which is intendedto include any suitable e-commerce system, such as, for example, anynon-on-line or on-line arrangement suitable for performing the steps.

[0263] In step 562, the system may receive an indication from a userthat an order, which may have been entered using a user access device,is in final form and that the user is ready to make paymentarrangements. Payment may be made either on-line (e.g., by credit card,or house account) or off-line (e.g., by cash or C.O.D.).

[0264] In step 564, the system may receive an indication from the userthat the user desires to use accounting codes to keep track of expensesconnected with the order. If the user does not want to track theexpenses, the process proceeds to final steps of the process, in whichthe order may be stored, submitted to a supplier, and reported to anadministrative user.

[0265] If the user elects to use accounting codes to track the expenses,the system may present the user with group expensing policy information(step 566). The system may provide hotlinks to details about groupexpensing policies or rules that govern the use of accounting codes forusers (steps 568 and 570, respectively).

[0266] In step 572, the system may prompt the user for accounting codes(e.g., client codes, matter codes, project codes, employee codes, anyother relevant codes, or any combination thereof). In step 574, thesystem may receive an indication from the user to split the orderexpenses between two or more accounting codes. If the system receives anindication to split an order in step 574, the system may receive anindication of a splitting method in step 576. Splitting methods mayinclude percentage splits (e.g., a percentage of the order may becharged to each accounting code), amount splits (e.g., a selected numberof dollars, pounds sterling, francs, etc., may be charged to eachaccounting code), or sub-order splits (e.g., the system may receiveindications of which items in the order are to be charged to eachaccounting code).

[0267] The system may receive any accounting codes associated with theorder in step 578. In step 580, the system may perform validity testingon any submitted codes by comparing the codes to codes listed in asystem database by an administrative user. If the codes are deemedinvalid (e.g., a submitted code is not found in the database or asubmitted code is found in the database, but is inactive), the systemmay issue a warning to the user in step 582. The system may issuenotices to an administrative user or other authorized individual. If theaccounting code is found to be valid in step 580, the system may checkif the prospective transaction is permitted, according to group rules,in step 584. Group rules may include criteria related to user authorityor permission level, time of day, day of week, cost of order, budgetaryrestrictions, user usage history, or any other criteria or combinationof criteria. In step 586, the system may issue warnings or messagessimilar to those of step 582. Steps 582 and 586 may loop back to steps580 and 584, respectively, when warnings are required to be issued.Users may be provided with the ability to bypass or override warnings insome of those embodiments.

[0268] In step 588, the system may store order information includinginformation related to the user, any supplies ordered, billinginformation, and accounting codes, if any, in a database. In step 590,the order may be submitted to a user-selected supplier. Any accountingcodes may be submitted to the supplier with the order for subsequentaccounting purposes. In step 592, the system may report orderinformation, which may include accounting codes, to an administrativeuser. A report, which may be customized by the administrative user, maybe made by the system upon the request of the administrative user.

Graphical Custom Order

[0269] Some embodiments of the invention may include systems and methodsfor using an electronic communication network for placing a graphicalcustom order for items with a supplier. In some of the embodiments, thisfeature is generally represented in step 163 of FIG. 4. Items mayinclude consumer products, electronics, automobiles, automobileaccessories, sporting equipment, industrial equipment, clothing, fooditems, and any other items that may be customized. If items are fooditems, they may include restaurant menu items, grocery items, specialtyfood items, or other food items. Some embodiments of graphical customordering are described in U.S. Provisional Patent Application No.60/191,359, filed Mar. 22, 2000, which is hereby incorporated herein inits entirety.

[0270] In some embodiments, a food ordering service or system mayelectronically receive selections of items and corresponding options,extras, customized features, or personalized features from a user usingan access device. The user may manipulate graphical features of adisplay to make the selections. The graphical features may bemanipulated by a user input device such as a mouse, joy stick, keyboard,remote control, or other cursor-control device.

[0271] The cursor icon may be converted from a default graphic into agraphical representation of a selected option and positioned near, in,or on a selected item. In response to a subsequent indication from theuser, another graphical representation of the selected may be displayedin position in, or as part of, the selected item. The cursor icon maythen be reconverted into a default cursor graphic. By transforming thecursor icon in this way, the display illustrates for the user that theuser picked up the option from one part of the display, dragged it tothe selected item, and placed it in or on the item. The process may berepeated for each item and for each option the user selects. Textcorresponding to the user's selection may also be displayed.

[0272] At any point during the assembly of a virtual food item that isto be cooked, the ordering service may receive a request from the userto view an image of the item, as modified by any or all options, in itscooked state. The system may then display a graphical representation ofthe completed or partially completed food item in its cooked state.

[0273] One example of a graphical custom order according to theprinciples of some embodiments of the invention is a graphical customorder for a pizza. The user may be presented with a virtual menuincluding graphical representations of pizza. The user may then select apizza by clicking on a corresponding graphical representation. The usermay then be presented with a graphical representation of a basic pizzaor with an outline or schematic framework of a pizza. The user may thenselect elements of the pizza. Selectable elements may include dough anddough options, cheese and cheese options, sauce and sauce options,toppings and topping options, crust and crust options, size and sizeoptions, and any other pizza options (e.g., seasonings, condiments,cooking instructions).

[0274] Dough options may include plain dough, sourdough, whole wheatdough, multiple grain dough, and dough with special additives(including, e.g., sprouted grains). Pan-style dough, deep-dish styledough, or any other form of dough may be included as options.

[0275] Cheese options may include cheese types (e.g., Parmesan,mozzarella, or any other type of cheese or combination of cheese types)and amounts of each selected cheese.

[0276] Sauce options may include sauce types and amount of each type.Sauce types may include tomato sauce, clam sauce, or any other type ofsauce.

[0277] Crust options may include selections of a desired degree of crustcrispiness (or softness).

[0278] Topping options may include, for each topping, a pizza coveragefraction (i.e., what fraction of the pizza a giving topping shouldcover) and a topping amount (e.g., a lot or a little).

[0279] Pizza size options may include, for example, options for small,medium, or large pizzas, but sizes may be represented in terms of pizzadiameter or thickness.

[0280] Some embodiments may provide systems and methods for dividing orsectioning a pizza. This may facilitate custom ordering. The orderingsystem may electronically receive indications to divide a pizza intomore than one section. The system may then receive an indication of oneor more of the sections onto which an option is to be applied ordistributed. The system may further receive an indication to distributethe option or topping to the selected section.

[0281] The system may display a graphical representation of availableoptions. The system may record the selection of an option by including ahotlink in the graphical representation of the option. The hotlink maycause an order data object to record the option. The hotlink may conveyappropriate commands to the browser display to modify or replace thecursor graphic with a graphical representation of the option. Selectedsections may be graphically transformed to include the option when thecursor is dragged to one or more such section.

[0282] The order data object may be updated at the time the option is“dragged” to or “dropped” on a selected section of the pizza or at thetime the user confirms a completed pizza order.

[0283] Some embodiments of the invention may include systems and methodsfor custom order decomposition. Custom order decomposition involvesgraphically decomposing a pizza into simple components when an order issubmitted to a supplier. Custom order decomposition may facilitate orderfulfillment. After a graphical representation of a pizza is assembled bya user, the ordering system may receive an indication from the user toorder the pizza. The ordering system may divide the pizza into layers orpartial layers of a given option or attribute and present layerinformation textually and graphically to a supplier when the order issubmitted to the supplier. A partial layer may include, for example, alayer of a given topping to be distributed over only a specified sectionof the pizza. The supplier, for example, a pizza chef, may then assemblea pizza in accordance with the order one layer at a time. The pizza chefmay assemble a pizza having all the layers and partial layers, depositedin a prescribed order, and the resulting pizza may thus match thegraphically designed pizza.

[0284]FIG. 27 is a generalized flow chart showing steps involved inillustrative graphical custom order 1100 in connection with an on-lineordering system. In step 1105, the system may receive an indication anitem from a user. For example, the system may display a graphicalrepresentation of the item and the user may select the item by clickingon the graphical representation. In another suitable approach, the usermay click on a textual link to the item. Any other suitable approach forprompting a user to select an item may be used. In step 1110, the systemmay display a graphical representation of the selected item or anoutline or schematic framework of the item.

[0285] For example, the system may display a circle or athree-dimensional disc if the item is a pizza. If the item is asandwich, a layered framework may be presented that allows the user to“fill in” bread, sandwich fillings, and condiments. If the item is aflower arrangement, the system may display a vase that allows the userto fill in the flowers one stem or stalk at a time. If the item is afruit basket, the system may display a basket that allows the user tofill in pieces of fruit or other food items.

[0286] In step 1115, the system may display graphical representations ofoptions, which may be preselected options, for “integration” into theselected item. In step 1120, the system may display an active button toallow the user to divide the selected item into sections or subsections.For example, a pizza may have wedge-shaped sections, a sandwich may haveslab-shaped sections arranged in a stack, and a salad platter may havepolygonal sections or cells. In step 1125, the system may receive anindication to divide the selected item. If the user indicates that theselected item should be divided, the system may divide the display ofthe selected item into sections. The user may indicate finer degrees ofsectioning by repeated clicks on the active button. The user mayhighlight a displayed section and indicate subdivisioning of thedisplayed section.

[0287] After the selected item is divided into sections, step 1130 showsthat the system may receive an indication from the user to activate asection for applying an option. For example, a user may click on aquarter section of a pizza for subsequent application of a topping. Thesystem may highlight the selected quarter section of the pizza. If, instep 1125, no indication to divide the item is received, graphicalcustom order 1100 may skip step 1130 and proceed directly to step 1135.

[0288] After an item or section of an item has been selected for theapplication of an option, the system may receive an indication of anoption selection from the user in step 1135. For example, the user mayclick on a graphical representation of an option displayed in step 1115.When the user clicks on the option, the system may convert the cursorgraphic to a graphical representation of the option.

[0289] In step 1140, the system may receive an indication of theapplication of an option to an item or section. For example, the usermay drag the representation of an option to a position on top of theitem or selection and up-click the mouse button. The system may respondby displaying the item or section as it would appear when modified bythe dragged option (step 1145).

[0290] In step 1150, the system may receive an indication from the userto finalize the order. If the order is to be finalized, the display ofthe item, with any option selected, may be transformed into a cookedversion of the item (step 1160). For example, a pizza may appear to haveshredded cheese during virtual assembly, but would appear to have meltedcheese after cooking. Displays of items that do not require cooking maybe left in an “uncooked” state. After finalization, the item and anyselected options may be recorded in a data object corresponding to theorder. The system may transform displays of other items into final form.For example, if a user selects an automobile wheel and a tire, thesystem may illustrate the tire as mounted on the wheel and use animationor video to illustrate the tire as it is inflated.

[0291] In step 1150, the user may choose to select additional optionsfor the selected item, section, or sub-section. The user may also chooseto create new divisions in the item. Accordingly graphical custom order1100 may reiterate from step 1125. In step 1161, the item, as modifiedby any options, may be added to the order.

[0292]FIG. 28 shows a general flow chart for illustrative steps involvedin custom order decomposition. In step 1170, the system may receive anindication from a user to submit an order for a custom item to asupplier. The system may submit the order to the supplier in step 1172by an suitable means, including, but not limited to, fax and e-mail. Thesystem may provide the supplier with textual description 1174. Thesystem may provide the supplier with graphically decomposed order 1176.Graphically decomposed order 1176 may decompose an order into easilycomprehensible components to simplify the process of assembling theitem.

[0293]FIG. 29 shows graphically decomposed order 1180 as an example ofgraphically decomposed order 1176 when the selected item is pizza andthere are several selected options. The system may decompose the custompizza into layers that correspond to each option and show thedistribution of the option across the surface of the pizza. Layer 1 maybe an option for thin sourdough. Outline 1182 shows that the optionsassociated with layer one cover the entire pizza. Outlines 1184 and1186, and 1188 show that layers 2, 3, and 4 (regular pizza sauce,mozzarella cheese, and mushrooms, respectively) also cover the entirepizza. Layers 5 and 6 (olives and green peppers, respectively), coveronly selected sections of the pizza as shown by outlines 1190 and 1192.

[0294] The pizza can be assembled by adding one layer at a time innumerical order. When options are applied to limited sections of thepizza, the outlines may give the relative orientations of the limitedsections. For example, outlines 1190 and 1192 correspond to layershaving ½ coverage by olives and ¾ coverage by green peppers.

[0295] In some embodiments of the invention, client-side user interfacefunctionality for graphical custom orders or order informationformatting functionality for custom order decomposition (as shown, forexample, in FIGS. 27 and 28-29, respectively) may be provided bydownloading special functions to the user's browser. Providing specialfunctions may be accomplished, for example, using some or all of theDDBE principles illustrated in FIG. 18a.

[0296] In some embodiments of the graphical custom order, for exampleinvolving pizza, the code used to present a customized pizza andassociated options may not be necessary for every menu. Accordingly, afunction used to present a pizza menu using graphical custom orderfeatures may involve one or more specialized functions.

Group Ordering System

[0297] In some embodiments of the invention, systems and methods forplacing group orders with suppliers via an ordering system may beprovided. In some of these embodiments, this feature is generallyrepresented in steps 154, 156, and 164 of FIG. 4. A group order may bean order that is placed by a group of users of the ordering system. Thegroup order may be initiated by a host user who submits an order,accompanied by a list of invitee users (hereinafter, “invitees”) to theordering system. The system may forward invitations, which may beelectronic invitations (e.g., e-mail invitations) to the invitees. Theinvitation may identify a supplier proposed by the host user. Someembodiments of group ordering are described in U.S. Provisional PatentApplication No. 60/191,359, filed Nov. 3, 2000, which is herebyincorporated herein in its entirety.

[0298] Alternatively, the system may suggest a supplier or suppliersthat satisfy certain criteria that may be stated by the host user or byone or more of the invitees. One or more preliminary invitations maypoll invitees for requirements regarding timing of delivery, pricing, ortype of supplies that are desired. If the invitation is for an eventthat is to take place at the supplier's location, invitee requirementsthe event time may be polled in a preliminary invitation.

[0299] For example, a host user may initiate a group order for a lunchmeeting at a restaurant within 5 blocks of a downtown office building ona given date and within a given time range, but one of the invitees maybe invited to select the time, while another may be invited to selectthe restaurant. The ordering system may poll the invitees whose input isrequired, obtain confirmation from the host user, and distributecomplete invitations, which may include deadlines for response, to eachmember of the group.

[0300] After complete invitations are distributed, invitees may respondby sending an RSVP back to the system indicating, for example, anacceptance, a rejection, or that a delayed RSVP is forthcoming. Theinvitations may include a hotlink to the selected supplier's catalog andinvitees may place orders directly with the supplier.

[0301] If an order is placed in connection with a deadline, atime-sensitive delivery, or a scheduled event, invitee orders may becached by the system and submitted to the supplier as a unified grouporder. The group order may be submitted to the supplier as a series ofpartial orders. The manner in which orders are submitted to the supplierand the submission of an order or orders may be subject to confirmationby the host user. The host user may receive, or have system permissionsto view, order status information indicating which, if any invitees,have placed orders for inclusion in a group order.

[0302]FIG. 30 shows group order holding bin 731, email engine 732, andgroup order status engine 733, each of which may be included as modulesthat interact with, or are components of, order server 730. Order server730 may be part of an on-line ordering system such as system 1 (as shownin FIG. 5) that may be implemented using database server 105 andInternet and application server 104 (as shown in FIG. 1).

[0303] Host user 710 may submit an unverified request to initiate agroup order to request filter 704. Request filter 704 may process theunverified request into a verified request. The verified request mayinclude any system, user, or order state variables necessary to identifythe request as a group order request or to specify permission levels foruser 710. The verified request may include any other variables that maybe necessary for order server 730 to process the request. Request filter704 may format the verified request as necessary for proper processingby order server 730.

[0304] According to some embodiments, host user 710 may initiate a grouporder in connection with an order placed in accordance with methodsdescribed elsewhere in this document. A group order may be placed using,for example, a user interface having displays or data entry screenssimilar to those illustrated in FIGS. 33 and 35-67. Order server 730 mayreceive an indication from host user 710 that the order should beprocessed as a group order.

[0305] Order server 730 may receive, via the verified request,indications of invitees 711 that host user 710 desires to include in thegroup order, a deadline for receipt of an RSVP from an invitee 711, atime or time frame for an order event (e.g., a time or range of timesfor picking up supplies, meeting at a restaurant, or meeting at adesignated location to receive delivery from a supplier), and a deadlinefor placing an order. Invitees 711 may be identified by any suitableidentification code, including, but not limited to, a login name, ane-mail address, or a given name.

[0306] When the verified request for a group order includes a requestfor an individual order for host user 710, order server 730 may directhost user order information to group order holding in 731. Group orderholding bin 731 may hold the individual host user order while waitingfor the submission of corresponding orders from invitees 711. When theverified request for a group order includes a request to issue one ormore invitations, order server 730 may direct invitation information(e.g., information specifying invitees, supplier, or particularsrelating to an event) to e-mail engine 732.

[0307] E-mail engine 732 may send email invitations to invitees 711identified by identification codes in the verified request. Whenidentification codes other than e-mail addresses are used, email engine732 may search for and find corresponding e-mail addresses using asystem database server, such as database server 105 (shown in FIG. 1).Database server 105 may use a user variable identifying user 710 asmember of a group or as a user of a given location that is also linkedto a user variable corresponding to an invitee.

[0308] Invitees 711 may be provided with a hotlink to an ordering sitefor submitting an order to order server 730. State variables of theinvitation, which may be sent by e-mail engine 732 in accordance withthe verified request, may automatically identify each of invitees 711 toorder server 730 as an invitee of the group order. Any orders placed byinvitees 711, therefore, may be held in group order holding bin 731 andassociated with the individual order placed by host user 710.

[0309] Group order holding bin 731 may assemble orders from invitees 711and host user 710 into a single group order for issuance to a supplier.Assembly and issuance of the group order may be initiated by aninstruction from host user 710.

[0310] Group orders may include accounting code attributes as describedabove. In some embodiments, accounting codes may be input by host user710 and invitees 711 at the time their respective orders are submittedto order server 730. In these embodiments, order server 730 maycommunicate accounting code information to an accounting engine, such asaccounting engine 60 shown in FIG. 5, for later analysis by authorizedsystem users.

[0311] Invitees 711 may send an RSVP, which may be a hotlink RSVP, tohost user 710. RSVPs may be sent to host user 710 or to group orderstatus engine 733. Group order status engine 733 may track the status ofall RSVPs received and all orders placed in connection with the grouporder. Group order status information may be presented to host user 710via email or by presenting group order status a web page that host user710 is permitted to view.

[0312] In some embodiments, host user 710 may view group order statusinformation using a push engine as described above. When a group orderin group order holding bin 731 is deemed sufficiently complete by hostuser 710, order server 730 may receive a “SEND GROUP ORDER” request fromhost user 710.

[0313] In other embodiments, host user 710 may request a group orderwithout placing an individual order. Accordingly, host user 710 mayrequest an “incomplete” group order and complete the group order at alater time. For example, host user 710 may request an incomplete grouporder and delay placing an individual order until receiving a responsefrom invitees 711. If a favorable response is received from invitees711, host user 710 may complete the order by directly accessing theincomplete order in order server 730. Alternatively, host user 710 mayplace an order as an invitee via a self-addressed invitation requestedin connection with the incomplete group order.

[0314] If inadequate or an unfavorable response is received, host user710 may send a request to order server 730 that the group order becanceled. E-mail engine 732 may send suitable cancellation notificationsto invitees 711.

Credit Card Pricing

[0315] Some embodiments of the invention may include systems and methodsfor reducing the risk of bad debt that may accrue to a provider of anon-line ordering system or service. In some of the embodiments, thisfeature is generally represented in steps 172 and 174 of FIG. 4. Anon-line ordering system or service provider may agree with a supplierthat the provider will facilitate a sale of supplies or services by asupplier to a system or service user. In turn, the supplier may agree topay a commission (e.g., a percentage of the value of the sale or a fixedfee per sale) to the provider. Credit card pricing is described in U.S.Provisional Patent Application No. 60/191,359, filed Mar. 22, 2000,which is hereby incorporated herein in its entirety.

[0316] Bad debt may accrue when a supplier fails to pay the provider acommission for a sale facilitated by the provider. When a user uses acredit card to pay for supplies or services ordered from a supplier, hemay do so on-line by providing credit card information to fulfill anyrequirements for billing information presented by the provider. Thesystem may receive the credit card information, which may include anexplicit or implicit instruction to the supplier, the provider, or bothto seek payment from the user's financial institution in compensationfor the supplies or services provided.

[0317] The provider may receive user credit card information, includingcredit card account number, the name of the credit card account holder,and the credit card expiration date using any suitable electronic datacollection means. The provider may then submit a credit card claim orpayment instruction to the user's financial institution and receivefunds corresponding to the claim, but reduced by a service chargeimposed by the financial institution.

[0318] The service charge may be a discounted service charge based on ahigh volume of credit card claims presented by the service provider. Thediscounted service charge may not be available to an individual supplierif the individual supplier does not generate a sufficient number ofcredit card transactions.

[0319] The provider may then pay the supplier the original claim amountreduced by the service charge and any commission or additional servicecharge upon which the provider and the supplier have agreed. Theprovider may deduct outstanding receivables due from the supplier inconnection with other orders (which may have been untrappable orvoluntarily untrapped). Accordingly, the provider may be virtuallyguaranteed that a commission on the credit card order will be received.

[0320] The provider and the supplier may further agree that the providermay wait a predetermined period of time before the provider pays thesupplier. The “floating” funds, received by the provider, but not yetpaid the supplier, may be used by the provider to generate additionalfunds. The provider may keep some or all of the additional funds or maypass all or a portion of the funds to the supplier.

[0321] For example, if a supplier submits a credit card claim, c,directly to a financial institution, the supplier may receive a directpayment, P_(supp/direct), given by

P _(supp/direct) =c−cm _(direct),  (1)

[0322] where m* is a non-discounted service charge rate. For example, m*may be 2%. If the provider submits claim c to the financial institution,the provider may receive a payment, P_(prov), given by

P _(prov) =c−cm _(discount),  (2)

[0323] where m_(discoujt) may be less than m_(direct). P_(prov) may thusbe greater than P_(supp/direct).

[0324] The provider may then make a delayed payment, P_(supp/delay), tothe supplier given by

P _(supp/delay) =c−c(q_(prov) +n),  (3)

[0325] where q_(prov) is a service charge rate imposed on the supplierby the provider in exchange for processing the credit card payment and nis a commission rate. For example, q_(prov) may be 1.5% and n may be 5%.

[0326] The net gain (excluding any tax effects) to the provider,G_(prove), in connection with such a transaction may thus be

G _(prov) =c(q_(prov) −m _(discount))+cn  (4)

[0327] The next gain (excluding any tax effects) to the supplier,G_(supp), after a commission is paid at rate n to the provider, may thusbe:

G _(supp/delay) =c(1−q _(prov))−cn  (5)

[0328] when the supplier receives a delayed payment for claim c from theprovider; and

G _(supp/direct) =c(1−m _(direct))−cn  (6)

[0329] when the supplier submits claim c directly to the user'sfinancial institution.

[0330] According to the principles of some of these embodiments, thesupplier may benefit from having the provider process the credit cardclaim to the extent that q_(prov) is less than m_(direct) (equations (5)and (6)). Additional benefit may be conferred by the provider to thesupplier by setting q_(prov) less than m_(discount) (equation (4)). Thecost of the additional benefit may be offset by investing the payment tothe provider P_(prov) (equation (2)) for a fixed period of time beforemaking payment P_(delay) to the supplier.

[0331] When a supplier makes a combination of cash and credit cardtransactions through the on-line service, the provider may have a riskof non-payment of commissions for cash sales. Using the method describedabove for credit card claim processing, the risk associated with cashsales can be mitigated. (Cash sales, for the purposes of the credit cardpricing feature of the invention, may include all sales using paymentmethods other than credit card.) If the provider processes all creditcard claims, only a certain portion of total sales (including cash andcredit card sales) must be made by credit card to mitigate all riskassociated with cash sales.

[0332] For example, at the end of a given billing cycle in which cashand credit card transactions are made, and in which all credit cardtransactions are processed by the provider, the supplier may owe theprovider a debt, D_(supp), given by

D _(supp) =Xn,  (7)

[0333] where X is total cash sales. In return, the provider may owe thesupplier a debt, Dprov, given by

D _(prov) =K−K(n+q _(prov)),  (8)

[0334] where K is total credit card sales. Accordingly, the risks ofunpaid debt are offset when

D _(supp) =D _(prov).  (9)

[0335] Using equations (7)-(9), the risks are offset when$\begin{matrix}{X = {{K\left( {\frac{1}{n} - 1 - \frac{q_{prov}}{n}} \right)}.}} & (10)\end{matrix}$

[0336] The fraction of total sales, F_(K), represented by credit cardsales is $\begin{matrix}{F_{K} = {\frac{K}{K + S}.}} & (11)\end{matrix}$

[0337] Using equations (10) and (11), the fraction of sales that must bemade by credit card and processed by the provider to mitigate the riskof bad debt is $\begin{matrix}{F_{0} = {\frac{n}{1 - q_{prov}}.}} & (12)\end{matrix}$

[0338] Risk may be mitigated when the provider processes (or “traps”)only a fraction of the credit card orders. Using the principlesdescribed above, the fraction of all credit card sales that the providermust trap, F_(TO), to mitigate against the risk of bad debt is given by$\begin{matrix}{{F_{TO} = \frac{n\left( {X + K_{supp}} \right)}{K_{Total}\left( {1 - n - q_{prov}} \right)}},} & (13)\end{matrix}$

[0339] where K_(supp) is the amount of credit card sales processed bythe supplier and K_(Total) is the sum of credit card sales processed bythe supplier and the provider.

[0340]FIG. 31 shows possible illustrative interactions among user 1010,service provider 1000, supplier 1040, and financial institution 1099.User 1010 may submit an order to service provider 1000, e.g., viaordering system 1001. Ordering system 1001 may forward the order tosupplier 1040. Supplier 1040 may then fulfill the order by providingsupplies and/or services to user 1010. Order 1080 may include billinginformation. When billing information includes a credit card paymentinstruction, service provider 1000 may route claim 1084 to financialinstitution 1099. Financial institution 1099 may then remit first amount1086 to service provider 1000. Service provider 1000 may then remitthird amount 1088 to supplier 1040. Third amount 1088 may besufficiently less than first amount to ensure that service provider 1000receives any commission due from supplier 1040 in connection with order1080.

[0341] The payment of third amount 1088 to supplier 1040 may besufficiently delayed with respect to receipt of first amount 1086 fromfinancial institution 1099 that third amount 1088 may be used togenerate investment income. Investment income may be generated, forexample, via investment account 1098 of service provider 1000.

[0342]FIG. 32 shows a flowchart of illustrative steps involved inimplementing some embodiments of the credit card pricing logic of thepresent invention. The steps shown in FIG. 32 are only illustrative andmay be performed in any suitable order. In practice, there may beadditional steps or some of the steps may be deleted. Some of the stepsshown in FIG. 32 involve providing users with opportunities to interactwith the system, performing various processes, or providing variousdisplays. These and other steps may be performed by, for example, aclient application that is programmed to generate or download screenssuitable to provide such opportunities, an Internet browser thatdownloads suitable pages to provide such opportunities, peerapplications, or using any other suitable approach. In an on-linearrangement, access device 102, for example, may be used to runclient-based applications. In non-on-line arrangements, personalcomputer 112, for example, may be used to run client-based applications.

[0343] Other steps illustrated in FIG. 32 may involve additionalprocessing, such as searching, grouping, calculating, and communicatingwith other systems, or other types of processing. In on-linearrangements (as shown in FIG. 1), such processing may be performed byaccess device 102, Internet and application server 104, or databaseserver 105, depending on, for example, the processing and storagecapabilities of access device 102, the chosen implementation for themarkup language documents used, the processing requirements of suchoperations, or other factors. In non-on-line arrangements (as shown inFIG. 2), such processing may be performed by personal computer 112,remote access device 113, application server 140, database server 105,or distributed among peer applications, depending on the chosen systemimplementation and the processing requirements of such operations.

[0344] For clarity, the following discussion will describe the stepsshown in FIG. 32 as being performed by “the system,” which is intendedto include any suitable e-commerce system, such as, for example, anynon-on-line or on-line arrangement suitable for performing the steps.

[0345] The system may receive an order from a user in step 1030. Thesystem may determine what method of payment the user has chosen (e.g.,cash, credit card, debit card, house account, 30 day net, or any othermethod of payment). Some methods of payment involve using creditextended by a third party (e.g., credit card or debit card). Thesemethods are referred to herein as “Third Party Credit.” Other methods ofpayment involve only the user and the supplier (e.g., cash, houseaccount, 30 day net). These methods are referred to herein as “Non-ThirdParty Credit”.

[0346] In step 1032, orders to be paid for using Non-Third Party Creditare forwarded directly to the supplier for collection from the user(step 1034). Orders that involve Third Party Credit are analyzed in step1036. If passing the Third Party Credit claim to the supplier can bedone without allowing the fraction of trapped credit card sales todecline below FTO, as defined in equation 13, the Third Party Creditclaim may be passed to the supplier at step 1034. Otherwise, the ThirdParty Credit claim may be trapped in step 1038.

[0347] In step 1040, the system may submit the trapped Third PartyCredit claim to the user's financial institution (a “Third PartyCreditor”). The system may receive a first amount (equal to the claimreduced by any service charges) from the financial institution or ThirdParty Creditor in step 1042. In step 1044, the system may invest thefirst amount to generate additional funds (which may be used to offsetany financing service charges by the Third Party Creditor). In step1046, the system may remit a third amount (equal to the claim reduced byany service charges and/or commissions) to the supplier.

User Interface

[0348]FIGS. 33 and 34 show a flowcharts of illustrative steps involvedin operating the e-commerce systems of the present inventions. The stepsshown in FIG. 33, and any other flowcharts described herein, are onlyillustrative and may be performed in any suitable order. In practice,there may be additional steps or some of the steps may be deleted.

[0349] At step 6005, the system may receive an indication of thepreferred user location. This location may be selected from apre-determined list, generated by the user, selected from a restrictedselection, generated randomly or based on one or more suitable criterionby the system, or generated by the user or system in any other manner.Following receipt of the location indication, step 6010 may proceed.

[0350] At step 6010, the user may be provided with a list of suppliers.The list of suppliers may be generated based on some or no relation tothe location indicated in step 6005. The list of suppliers may beprovided to the user by the system, by some other system based onelectronic data transfer, or in any suitable manner. Following provisionof the supplier list, the system may receive indication “A” from a userdirecting that step 6015 may proceed. In step 6010, step 6016, or step6020, the system may receive indication “B” from a user, indicating thatthe user wishes to follow path 6017 back to step 6005 and possiblyindicate a different location. In step 6010, step 6016, or step 6020,the system may receive indication “C” from a user, indicating that theuser wishes to follow path 6012 back to step 6010 and possibly receive adifferent list of suppliers.

[0351] At step 6015, the system may receive an indication of thesupplier or suppliers preferred by the user. The user may indicatesuppliers from the list of suppliers, suppliers not on the list ofsuppliers, suppliers stored elsewhere electronically, or any othersupplier. The system may, if desired, reject one or more of thepreferred suppliers as indicated by the user. Following user selectionof preferred suppliers, step 6016 may proceed.

[0352] At step 6016, the system may provide the user with informationabout suppliers. The information may or may not be associated with thepreferred suppliers selected by the user. The information about thesuppliers may be presented to the user in any suitable format. Afterpresentation of this information, the system may receive user indication“A” directing that step 6020 may proceed. In step 6016 or step 6020, thesystem may receive indication “D” from a user, indicating that the userwishes to follow path 6018 back to step 6005 and possibly indicate adifferent selected supplier.

[0353] At step 6020, the system may provide the user with cataloginformation. The catalog information may or may not be associated withthe preferred suppliers selected by the user. The catalog informationmay be presented to the user in any suitable format. The cataloginformation may be presented in multiple levels, each having more depthof information than the last. Following provision of the cataloginformation, the system may receive user indication “A” directing thatstep 6025 may proceed. In step 6020, the system may receive indication“E” from a user, indicating that the user wishes to follow path 6019back to step 6016 and possibly receive information about a differentselected supplier. In step 6020, the system may receive indication “F”from a user, indicating that the user wishes to follow path 6021 back tostep 6020 and possibly receive different catalog information.

[0354] At step 6025, the system may receive an indication of one or moredesired products from the user. The desired products may be selectedfrom the catalog, entered dynamically by the user, or selected from anyother suitable source.

[0355]FIG. 34 shows a set of steps that may be used when enteringinformation into the system. It may be desirable to associate certaintypes of data within the system. For instance, it may be desirable toassociate one or more suppliers with one or more companies, so thatusers having access to the company sites for those companies may beallowed to place orders with the associated suppliers. Likewise, it maybe desirable to keep certain suppliers disassociated with certaincompanies so that users within the company cannot order from aparticular supplier or group of suppliers. Similarly, when using aparticular company's order site, it may be desirable to users to beassociated with certain departments or locations that are associatedwith the company, so as to simplify the ordering process. The steps ofthe flowchart shown in FIG. 34 may, for instance, be accomplishedthrough use of the illustrative displays shown in FIGS. 68-79 and93-106. These steps need not be performed in any particular order. Asshown, either step 6120 or step 6110 may be performed prior to any othersteps. However, in reality, any of steps 6140, 6130, or 6150 may beperformed prior to the performance of either or both of steps 6110 and6120.

[0356] At step 6110 a one or more lists, each composed of one or moresuppliers are created within the system. Following step 6110, step 6112may or may not be taken. Step 6112 may involve the creation of one ormore catalogs associated with one or more of the suppliers. It ispossible that one or more catalogs may be associated with one or moresuppliers. For example, a catalog in the form of a menu may beassociated with a supplier that is a restaurant, enabling the system toshow users information about a restaurant's menu.

[0357] Step 6120 may be performed simultaneously with, prior to, orafter performance of step 6110. Step 6120 may involve the creation ofone or more lists of one or more companies, schools, groups, or anyother type of suitable organization (hereinafter in the description ofthis drawing, “companies” will be used) that may have some level ofaccess to the system. Following step 6120, step 6122 may or may not betaken. Step 6122 may involve the creation of certain system permissionsspecific to one or more companies in one or more of the lists created instep 6120, assignment of certain system permissions to one or morecompanies, deletion of certain system permissions relating to one ormore companies, or any other suitable changing of permissions forcompanies.

[0358] Following step 6120, steps 6130, 6140, and 6150 may or may not betaken. Steps 6130, 6140, and 6150 may be taken simultaneously in anycombination, or in any order, with the possibility of two steps beingtaken simultaneously prior to or subsequent to the third step beingtaken. It is possible that one or more of steps 6130, 6140, and 6150will not be taken.

[0359] At step 6130, a list of one or more departments may be createdfor one or more of the companies in one or more of the lists created instep 6120. Following step 6130, step 6132 may or may not be taken. Step6132 may involve the creation of certain system permissions specific toone or more departments in one or more of the lists created in step6130, assignment of certain system permissions to one or moredepartments, deletion of certain system permissions relating to one ormore departments, or any other suitable changing of permissions fordepartments. For example, a company may have departments that havedifferent procuring processes, thereby necessitating different systempermissions.

[0360] At step 6140, a list of one or more locations may be created forone or more of the companies in one or more of the lists created in step6120. For example, many companies have locations in multiple cities, oreven multiple locations within one city. In this example, if multiplelocations are stored in the system, the system may be better prepared tohandle orders from users that may be associated with the same company,but who require delivery at different locations.

[0361] At step 6150, a list of one or more users may be created for oneor more of the companies in one or more of the lists created in step6120. Following step 6150, step 6152 may or may not be taken. Step 6152may involve the creation of certain system permissions specific to oneor more users in one or more of the lists created in step 6120,assignment of certain system permissions to one or more users, deletionof certain system permissions relating to one or more users, or anyother suitable changing of permissions for users. For example, it may bedesirable to have many users who have permission to order food, whilehaving a smaller number of users who have the ability to view accountingdetails, edit reporting functions, handle customer service, or any othersystem function that may be performed based on user indications.

[0362] Following steps 6120 and 6110, step 6160 may be taken. In step6160, one or more suppliers or lists of suppliers may be associated withone or more companies or lists of companies. This association may allowone or more users within companies to order from the associatedsuppliers. For example, a company may have a policy that requiresordering from a select supplier or group of suppliers. In this example,being able to associate suppliers with companies would help to reduceproblems with orders from improper suppliers.

[0363] Following steps 6160 and 6140, step 6162 may be taken. In step6162, one or more suppliers or lists of suppliers that has beenassociated with one or more companies or lists of companies may beassociated with one or more locations. This association may allow one ormore users located at the associated locations to order from theassociated suppliers. For example, this might be desired if certainsuppliers of a company are ordered from by users at some companylocations, but not by users at other company locations.

[0364] Following steps 6140 and 6150, step 6168 may be taken. In step6168, one or more users or lists of users may be associated with one ormore locations or lists of locations. This association may allow one ormore users to order from the suppliers associated with the locationscreated in step 6140. This might be useful, for example, if a companyhas multiple suppliers associated with it, but certain users in thecompany are at locations where only a subset of the suppliers associatedwith the company may be ordered from.

[0365] Following steps 6140 and 6130, step 6164 may be taken. In step6164, one or more locations or lists of locations may be associated withone or more departments or lists of departments. This association mayallow one or more users that have been associated with the departmentscreated in step 6130 to order from the suppliers associated with thelocations created in step 6140. This might be useful, for instance, whena company has one or more departments that have multiple locations. Inthis example, if users were associated with one department, the usersmay be able to order from different subsets of suppliers depending onthe specific user's location and the suppliers associated with thatlocation.

[0366] Following steps 6130 and 6150, step 6166 may be taken. In step6166, one or more users may be associated with one or more departmentsor lists of departments. This association may allow one or more users toorder from the suppliers associated with the locations of thedepartments created in step 6130.

[0367] FIGS. 35-109 show illustrative displays that may be generated bythe system for providing various features of some embodiments of thepresent invention. Displays may be generated using any suitableapproach. For example, internet and application server 104 may provideone or more pages to access devices 102 using one or more suitableprotocols (e.g., the HyperText Transfer Protocol (HTTP) and TransmissionControl Protocol/Internet Protocol (TCP/IP)). The pages may be definedusing, for example, any suitable markup language (e.g., HyperText MarkupLanguage (HTML), Dynamic HyperText Markup Language (DHTML), pagesdefined using the Extensible Markup Language (XML), JavaServer Pages(JSP), Active Server Pages (ASP), or any other suitable approaches). Thepages may include scripts, computer code, or subsets of computer code,that define mini-programs (e.g., Perl scripts, Java applets, EnterpriseJavaBeans (EJB), or any other suitable approaches). The system may bedesigned using suitable modular approaches such as, for example, Java 2Platform—Enterprise Edition (J2EE), Component Object Model (COM),Distributed Component Object Model (DCOM), or any other suitableapproach.

[0368]FIG. 35 shows an illustrative display 2000. Illustrative display2000 may be displayed at the beginning of an order process or otherelectronic transaction. Illustrative display 2000, as well as otherdisplays described herein, may include header 2018, side bar 2038, andcontain content area 2010. Header 2018 may be used as a generalnavigational tool within the system 1. Header 2018 may provide a userwith ways to access high level system information. Side bar 2038, aswell as side bars 2138, 2238, 2338, and 2538, may provide a user withnavigational or process information and choices relating to the specificprocess that a user is involved in at any given time. Content area 2010,as well as content areas 2110, 2210, 2310, 2410, and 2510, displayinformation relevant to the specific step within a process that a useris currently involved in.

[0369] Header 2018 may include, for example, a logo of a serviceprovider (e.g., Service Provider Logo), a name of a company, web-site,or web-site sponsor (e.g., Company Name), a logo 2022 (e.g., CompanyLogo), and links 2016. The logo 2022 may include any suitable passive orinteractive text, graphics, audio, video, animation, or other suitablecontent. Links 2016 may be selected by users in connection withfunctions indicated by the labels of links 2016. For example, links 2016may be selected by users for the purpose of accessing information aboutsystem 1, viewing favorite past or present orders, reviewing orderhistory, reviewing information about service provider credits,contacting the service provider, gaining access to help information, oraccessing any other system feature or information.

[0370] Side bar 2038 may include one or more tabs 2012. The system mayreceive user indications through tabs 2012 about steps involved inplacing orders. For example, the system may receive a user indicationleading to the display of specific information in display area 2028,through tabs 2012. Tabs 2012 may show specific information about userlocations, selected businesses or individuals, order totals,confirmation codes, or any relevant information.

[0371] Display area 2028 may include user location information 2014.Location information 2014 may, for example, be displayed in the form ofa table, list, radio buttons, data entry field, or any other suitableuser interface feature. Location information 2014 may include zero, one,or a plurality of locations. Location information 2014 may be specificto a user, general for all users, selected based on user suppliedcriteria, or compiled using any suitable method. A user may select adesired location from the displayed location information 2014. Side bar2038 may also include one or more interactive features 2020. Interactivefeatures 2020 may include buttons, check boxes, radio buttons, dataentry fields, drop down lists, menus, or any suitable feature. Thesystem may receive user indications about the flow of the order process,through interactive features 2020. For instance, interactive features2020 may allow a user to progress forward or backward in an orderprocess, cancel an order, save order information, restart an order,continue or hold an order process, or make any other suitableindications.

[0372] Content area 2010 may include information about a serviceprovider, vendors, available services, menu items, one or more links2024 to information, one or more images 2026, or any other suitablecontent.

[0373]FIG. 02 shows illustrative display 2100. As part of display 2100,the system may provide a list of suppliers, relating in some way to theuser's chosen location, to be chosen from. In this example, illustrativedisplay 2100 shows a list of restaurants geographically related to thecustomer's chosen location titled “jd office”. User's choice of “SushiConnection” caused the system to display information about thatrestaurant in content area 2110. Illustrative display 2100, as well asother displays described herein, may include header 2018, side bar 2138,and content area 2110.

[0374] Display area 2128 may display information about suppliers thatmay or may not be accessible using the system. In illustrative display2100, the suppliers shown are restaurants. Display area 2128 may listone or more suppliers in list 2040. Display area 2128 may includesearch/sort feature 2030. Feature 2030 may include one or more inputfeatures 2032 with which users may indicate criteria for narrowing orexpanding list 2040 of suppliers. Users may use input devices 2032 tosearch, sort, or both by, for example, cuisine type, product type,service type, name, price, food quality, product quality, speed ofservice, business type, or any suitable search or sort criteria relevantto a type of supplier. The searching and sorting criteria may beappropriately modified for suppliers other than restaurants. Forexample, a clothing supplier might be searched or sorted by type ofclothing, gender, season specific clothing, etc.

[0375] Display area 2128 may include one or more selection features2034. The system may receive input from a user, through selectionfeatures 2034. For example, this input may include selection of aparticular business or person about which information should bedisplayed, selection of multiple businesses or persons that might becompared or about which a list might be prepared for other uses, promptsindicating that the user wishes to view another list of one or morebusinesses or users, or input relating to any suitable purpose.

[0376] Features of the illustrative display 2100 may have the capabilityto display additional information relating to that feature or anotherfeature in response to user input. Additional information may be placedin display box 2036 or may be displayed in any manner suitable for theinformation desired. For example, display box 2036 shows informationrelating to one of the restaurants related to a single selection feature2034. A user may indicate that display box 2036 is desired. In anothersuitable approach, display box 2036 may be generated based onpre-determined and/or random system events, such as business openings orclosings, special deals or promotions, or any suitable regular or randomevent.

[0377] Content area 2110 may contain, for example, supplier informationand a interactive feature 2120. Supplier information may include thename, address, and contact information for one or more suppliers; hoursof operation; types of payment accepted; minimum order amounts;information about delivery, ordering, or eating options; customerratings relating to food, service, or product quality, speed ofdelivery, service, or other ratings; a description of the cuisine type,actual dishes, eating environment, delivery distances; or any relevantinformation about the suppliers. The system, through interactive feature2120, may accept user indications to change the information displayed.In this example, the system, through interactive feature 2120, mayaccept user indications that the user wishes to view the menu for theselected supplier.

[0378]FIG. 37 shows illustrative display 2200. Illustrative display 2200may be viewed and used as part of an order process, wherein a user hasselected a location and restaurant. Illustrative display 2200 may beused to display a catalog of goods and a list of goods to be included inan order. In this example, a restaurant menu and food order aredisplayed.

[0379] In illustrative display 2200, side bar 2238 may include orderlist 2202 and other information related to ordering supplier goods orservices. Order list 2202 may include one or more order items 2204. Foreach order item 2204, order list 2202 may include one or more quantitymodifiers 2208 through which the system may accept user input relatingto the desired quantity of order item 2204, one or more itemcancellation modifiers 2214 through which the system may receive userindications that removing a specific item 2204 or group of items 2204from order list 2202 is desirable, one or more expansion features 2206through which the system may receive user input indicating that the userwishes to view more specific information, information indicating costand desired quantity of item 2204, and any other relevant information.Side bar 2238 may also include one or more interactive features 2216.

[0380] Content area 2210 may include information about products orservices provided by one or more suppliers. Content area 2210 may alsoinclude one or more catalog features 2220, one or more interactivefeatures 2218, one or more search data fields 2224, one or more searchexecution features 2226, one or more catalog section features 2230, oneor more lists 2240.

[0381] The system may receive user input relating to products orservices about which a user desires more information, through catalogfeatures 2220. Catalog features 2220 may be generated using user inputreceived in search data field 2224. In FIG. 37, catalog feature 2220allows a user to view information from a restaurant menu. Catalogfeatures 2220 for restaurants may allow users to view breakfast, lunch,dinner, carry-out, delivery, dine-in, or any other type of menu orservice provided by restaurants.

[0382] In this example, the system may accept user indications that theuser wishes to view general information about the selected supplier,through interactive feature 2218.

[0383] Search data fields 2224 may receive user input relating tospecific products or services of selected supplier. This input may beused to limit the data displayed in part or all of illustrative display2200. The user information in search data field 2224 may be used whensearch execution feature 2226 receives a user indication that specificdata should be displayed.

[0384] The system may receive user indications that a specific sectionof the supplier catalog should be displayed, through catalog sectionfeatures 2230. Catalog section features 2230 may be generic or specificto a catalog feature 2220. In the example shown, catalog sectionfeatures 2230 allow users to choose parts of a restaurant menu (e.g.,appetizer, noodle soup, beverages, sushi, sashimi, sushi platter, mixedplatter, roll, a la carte, sushi chef's recommendations and partyplatters). Catalog section features 2230 may allow the catalog ofsupplier goods and services to be divided in any manner.

[0385] List 2240 may display specific goods or services that are relatedto the specific catalog features 2220 and/or catalog section features2230 indicated by the user. List 2240 may display a default selection ofgoods or services or a selection based on user information entered intosearch data field 2224. As shown, list 2240 displays a portion of arestaurant menu. List 2240 may include one or more list features 2242.List features 2242 may display information relating to a specific good,service, or combination of goods and/or services. List features 2242 mayinclude one or more of option features 2244, special informationfeatures 2246, and/or order features 2248. The system may receive userindications through option features 2244 when a specific good or servicecan be prepared or performed in more than one manner. As shown, optionfeatures 2244 allow a user to select either white rice or brown rice aspart of a shrimp tempura platter. Option features 2244 may be anysuitable feature for receiving user indications, including check boxes,radio buttons, buttons, drop-down lists, or menus. The system mayreceive user input about a good or service being ordered, throughspecial information features 2246. A user may indicate through a specialinformation feature 2246 that a non-standard good or service is desired.For instance, a user might request that soy sauce or duck sauce be mixedwith a menu item. The system may receive any relevant user indications,through special information features 2246. The system may receive userindications that the goods and/or services represented by a specificlist feature 2242 should be added to the user order and indicated inorder list 2202, through order features 2248.

[0386]FIG. 38 shows illustrative display 2300. Illustrative display 2300may provide information relating to an order that is almost complete.Using illustrative display 2300, a user may have the ability to changeorder information to suit the user's payment, delivery, and otherrelevant preferences with respect to the order to be placed.

[0387] In illustrative display 2300, side bar 2338 may include order anduser information. This information may be provided for user referenceprior to completing an order. Information may be displayed by one ormore personal information features 2324, one or more order optionfeatures 2322, and/or any other suitable information display feature.The system may receive user input regarding one or more persons to whoman order is to be related, through personal information feature 2324.The system may receive user input regarding one or more addresses towhich an order should be sent, through personal information feature2324.

[0388] Side bar 2338 may also include one or more interactive features2020.

[0389] Content area 2310 may display information about user orders.These orders may be current, future, or past orders. Order informationmay include any information needed and/or relevant for orderfulfillment. Content area 2310 may include print feature 2312. Printfeature 2312 may allow users to print, save, or otherwise memorializeone or more copies of one or more orders.

[0390]FIG. 39 shows illustrative display 2400. The system may provideillustrative display 2400 to a user for record keeping purposes. In thisexample, illustrative display 2400 shows a list 2412 of past orders2414, one of which is expanded into a history detail area 2418, showingaccounting details for that order. Illustrative display 2400, as well asother displays described herein, may contain sidebar 2038, header 2018,and display area 2410. Illustrative display 2400 may be used to showorder history, accounting data, or any information relevant to userswhen accessing accounts.

[0391] Display area 2410 may display any set or subset of data relevantto user accounts, purchases, orders, and/or any other user activity.Data may be displayed using any suitable display mechanism, includingbut not limited to tables, lists, graphical displays and the like.

[0392] Display area 2410 may contain one or more input features 2416.The system may receive user indications relating to any relevantinformation, including account codes, client codes, prices, percentages,notes, or any other accounting information, through input features 2416.Display area 2410 may include one or more interactive features 2020 forreceiving indications of user intent.

[0393]FIG. 40 shows an illustrative display 2500. Illustrative display2500 may be used by a user for record keeping purposes. In this example,a list of past orders placed by “Doe, John” has been displayed.Illustrative display 2500 may display any set or subset of orders thatis suitable for the user. Illustrative display 2500, as well as otherdisplays described herein, may contain side bar 2538, header 2018, andcontent area 2510. Illustrative display 2500 may be used to show orderhistory, accounting data, or any information relevant to users whenaccessing accounts.

[0394] Content area 2510 may display any set or subset of data relevantto user accounts, purchases, orders, and/or any other user activity.Data may be displayed using any suitable display mechanism, includingbut not limited to tables, lists, graphical displays and the like.

[0395] Side bar 2538 may contain one or more sorting regions 2536.Sorting regions 2536 may contain one or more sort features 2534. Thesystem may receive user indications regarding types of information to bedisplayed in content area 2510, through sort features 2534. For example,the system may receive indications of dates; user, client, project,employee, order, cost, tip, and/or payment type information; and/or anyinformation upon which relevant data may be sorted, through sortfeatures 2534. The system may receive user input indicating that datashould be sorted with a multiple level sort mechanism using more thanone field to sort upon, through sort features 2534.

[0396] Sorting regions 2536 may also contain one or more limitingfeatures 2530. The system may receive user input indicating that some orall information should be excluded from the information displayed incontent area 2510, through limiting features 2530. Limiting features2530 may, for example, allow users to indicate dates; user, client,project, employee, order, cost, tip, and/or payment type information;and/or any information which may be used to exclude relevant data fromdisplay in content area 2510.

[0397]FIG. 41 shows illustrative display 3100. Illustrative display 3100may be the first display seen by the user when accessing the system 1.The system may receive user indications of suitable information forlogging into the system 1 through illustrative display 3100.Illustrative display 3100, as well as other displays described herein,may include header 3102, display area 3110, and any other suitableelements.

[0398] Header 3102 may include logo 3104. Header 3102 may display anyrelevant text or information, such as company names and service providerlogos.

[0399] Display area 3110 may include instructional and/or informationaltext. Display area 3110 may also include sign-in area 3112. Sign-in area3112 may include one or more user data features 3114, one or more usercontrol features 3118, and any relevant descriptive text or information.The system may receive user indications of information needed forsigning-in to the system, through user data features 3114. The systemmay receive user indications relating to signing-in, through usercontrol features 3118. User input may include indications to sign-in,request information regarding forgotten passwords, request informationabout changing passwords, and/or any other suitable indications.

[0400]FIG. 42 shows illustrative display 3100, wherein user indicationshave been entered in user data features 3114. In this example, a userhas entered “jdoe@acme.com” into one user data feature 3114 and apassword disguised as “********” into another user data feature 3114.Following this entry of user input, the user may select the user controlfeature 3118 with the text “SIGN IN”. Alternately, a user might selectany of the other user control features 3118 to change a password,recover a lost password, or perform other relevant actions.

[0401]FIG. 43 shows illustrative display 3200. The system may providedisplay 3200, for example, after user selects a location usingillustrative display 2000. Illustrative display 3200 may display a listof suppliers near users location. Illustrative display 3200 might alsogive a welcome message to the customer and/or provide the customer withsome suggestions of preferred suppliers or other relevant information.In this example, illustrative display 3200 shows a list of 12restaurants, a welcome message, and images of a restaurant and a menuitem. Illustrative display 3200, as well as other displays describedherein, may contain header 2018, side bar 2138, and display area 2010.

[0402]FIG. 44 shows illustrative display 3200. In this example, displaybox 2036 has been included. Display box 2036 may be included when a userhas indicated that more information about a particular supplier isdesired. In this example, a user has moved the cursor over a selectionfeature 2034 which displays the text, “3. Abe's Kosher Style”. Inresponse to that user input, display box 2036 has been provided withadditional information about the supplier named “Abe's Kosher Style”.

[0403]FIG. 45 shows illustrative display 2100. The system may providedisplay 2100, for example, after a user has indicated that viewinginformation about one of the suppliers listed in list 2040 of side bar2138 is desired. In this example, user has indicated that viewinginformation about “Abe's Kosher Style” is desired. This user indicationprompted the system 1 to display suitable information relating to theselected supplier (e.g., a restaurant named “Abe's Kosher Style”).Interactive feature 2120 may be present in content area 2110.Interactive feature 2120 may receive user indications that viewingsupplier product information is desirable. In this example, the systemmay receive user indications that viewing a restaurant menu isdesirable, through interactive feature 2120.

[0404]FIG. 46 shows illustrative display 3300. The system may providedisplay 3300, for example, when a user has indicated that viewingsupplier product information is desirable. In this example, a user hasindicated that viewing a restaurant menu for a restaurant named “Abe'sKosher Style” is desirable. Illustrative display 3300, as well as otherdisplays described herein, may include side bar 2138, header 2018, andcontent area 2210.

[0405]FIG. 47 shows illustrative display 3300. In this example, a userhas typed “Fish” into search data field 2224. Typing “Fish” into searchdata field 2224 will allow a user to search for all products (e.g., menuitems) that contain the characters “fish” as part of their name,description, or other stored data. User indications to execute a searchfor “fish” may be received by the system, through search executionfeature 2226.

[0406]FIG. 48 shows illustrative display 3300. In this example, contentarea 2210 is displaying list 2240 which is populated with several listfeatures 2242 that have been retrieved in response to a user search forthe characters “fish”, as shown in FIG. 47. Many of the list features2242 in the list 2240 include the characters “fish” in their names.However, “Nova Salmon Platter” might have “fish” in its description orother stored data. In FIG. 48, display box 2036 is shown in display area2210, with the text “search”. Display box 2036 has been generated basedon user input indicating that more information about the purpose ofsearch execution feature 2226 is desired. One catalog feature 2220(bearing text “SEARCH FOR: FISH”) has been generated using user inputreceived in search data field 2224. The list features 2242 have beenretrieved from various portions of the catalog.

[0407]FIG. 49 shows illustrative display 2200. In this example, displayarea 2228 shows that user has indicated that list feature 2242 titled“Tuna Fish Salad” (from the list 2240 as shown in FIG. 48) should beincluded in order list 2202. In response to that user indication, thesystem placed order item 2204 in order list 2202. Content area 2210shows that the user has indicated that special instructions should beentered for list feature 2242 titled “Cucumber Salad.” Specialinstructions of “Sprinkle with cayenne pepper.” have been entered inspecial information feature 2246 by the user. If the user decides tocreate an order item 2204 based on list feature 2242 titled “CucumberSalad”, the special instructions entered in special information feature2246 will be conveyed into order list 2202 with the appropriate orderitem 2204.

[0408]FIG. 50 shows illustrative display 3300. In this example, relatingback to display list 2240 as shown in FIG. 48, the user has indicatedthat an option selection is desired for list feature 2242 titled“Sandwiches: Tuna Fish Salad” before information about this list feature2242 will be transferred to order list 2202. User has several optionfeatures 2244 with which choices may be made. Option features 2244 shownunder “Choose option 1:” allow the user to indicate a desired type ofbread (e.g., rye, whole wheat, club bread, toasted garlic bread). Theoption features 2244 for club bread and toasted garlic bread alsoindicate that an additional cost will be incurred by the user if clubbread or toasted garlic bread is chosen. Option features 2244 shownunder “Choose option 2:” allow the user to indicate a desired condiment(e.g., sliced tomato, potato salad, sweet peppers, hot peppers). Optionfeatures 2244 shown under “Choose option 3:” allow the user to indicatea desired meal style (e.g., sandwich, salad). User has indicated, usingoption features 2244, that “rye”, “sliced tomato” and “sandwich” aredesired.

[0409]FIG. 51 shows illustrative display 2200. In this example, user hasindicated, using order feature 2248, that list feature 2242 titled“Sandwiches: Tuna Fish Salad” should be added to the order. In responseto this indication, the system 1 has added order item 2204 titled “TunaFish Salad” to order list 2202. Additionally, display box 2036 has beenprovided in response to a user indication that more information aboutorder feature 2248 was desired.

[0410]FIG. 52 shows illustrative display 2200. In this example, user hasmade an indication to order feature 2248 which has resulted in theaddition of order item 2204 titled “Cucumber Salad” to order list 2202.Prior to that indication, order item 2204 titled “Tuna Fish Salad” wasalready in the order list 2202, as shown in FIG. 51. A user indicationreading “Sprinkle with cayenne pepper.” can be seen in specialinformation feature 2246. The information “Sprinkle with cayennepepper.” will be transferred to order list 2202 as part of the contentof order item 2204 titled “Cucumber Salad.”

[0411]FIG. 53 shows illustrative display 2200. In this example, user hasmade an indication to the system, through expansion feature 2206 oforder item 2204 titled “Cucumber Salad”. This indication has resulted ina display of additional information (i.e. Special instructions: Sprinklewith cayenne pepper).

[0412]FIG. 54 shows illustrative display 2300. To view illustrativedisplay 2300, the system may receive a user indication to proceed,through interactive feature 2020 titled “CHECK OUT” of illustrativedisplay 2200, as shown in FIG. 53. The information associated withpersonal information features 2324 and order option features 2322 may bereflected as a mock-up of the order which may be displayed in contentarea 2310. This information may be gathered from user choices madethroughout the order process. For example, the user indications madewhile viewing illustrative display 2200 and illustrative display 3300may be reflected in content area 2310. In this example, a Tuna FishSalad Sandwich with rye bread and sliced tomato costing $7.45 and threepounds of Cucumber Salad costing $3.50 are displayed as a result of userindications made in illustrative display 2200 and illustrative display3300. The information shown in content area 2310 may also relate to theinformation shown in side bar 2238 as drawn in FIG. 53. Display area2328 contains option features 2302. In this example, interactivefeatures 2020 receive user indications of desired order process flow.Interactive features 2020, as shown in this example, allow a user toproceed to the next, or backtrack to the previous step in the orderprocess.

[0413]FIG. 55 shows illustrative display 2300. In this example,illustrative display 2300 shows the next step in the order process.Illustrative display 2300, as shown in this example, may be providedupon receipt of user input, for example, through interactive features2020 as shown in FIG. 54. The system may receive user indicationsrelating to choices that users may or may not be required to make whenordering, through option features 2302. The system may receive userindications relating to any relevant choices that a user may makeregarding an order, through option features 2302. In this example,option features 2302 allow user to select “Delivery” or “Takeout” forthe current order. The system may allow users to indicate anyinformation that may be desired when placing an order, through optionfeatures 2302. User indications to the system through option features2302 may be used to modify information displayed in content area 2310.In this example, interactive features 2020 are shown with the labels“Cancel” and “Save”. The system may receive user indications about orderflow, data storage or deletion, and/or any other appropriate systemfunctions, through interactive features 2020 with these labels.

[0414]FIG. 56 shows illustrative display 2300. This example shows someother choices that a user may be presented with as part of the orderprocess. As shown, option features 2302 allow user to select “ASAP” or“Later” as a delivery option for the current order.

[0415]FIG. 57 shows illustrative display 2300. This example shows someother choices that a user may be presented with as part of the orderprocess. As shown, option features 2302 allow user to select “cash”,“credit card” or “account” as a payment method for the current order.

[0416]FIG. 58 shows illustrative display 2300. This example showsanother possibility for receiving user choices regarding an order. Asshown, option feature 2302 allows user to type instructions for thecurrent order, rather than making a choice of preset options. As shown,a user indication of “Please deliver to Conference Room 31 North.” hasbeen entered into option feature 2302.

[0417]FIG. 59 shows illustrative display 2300. This example shows yetanother example of possible ways to receive user indications of choicesmade during the order process. As shown, option features 2302 allow userto type instructions for the current order. As shown, user indicationsof “John Doe”, “Acme”, “Plaintown”, “OH”, “44444”, and “888 395-3800”have been entered into option features 2302, as location information forthe current order.

[0418]FIG. 60 shows illustrative display 2300. As shown, option features2302 allow user to select “Save Order” or “Don't Save Order”. Userindications, in this example, allow a user the choice of whether tostore information relating to the current order for future use.

[0419]FIG. 61 shows illustrative display 2300. As shown, the user hasindicated that the choice titled “Save Order” in option feature 2302 isdesired.

[0420]FIG. 62 shows illustrative display 2300 with interactive features2020. In this example, interactive features 2020 may, for instance,receive user indications of either “SUBMIT” or “Prev”. The interactivefeature 2020 titled “SUBMIT” may allow the user to submit an order to asupplier. If the user indicates that “SUBMIT” is desired, the system mayshow display box 3900 as shown in FIG. 67.

[0421]FIG. 63 shows illustrative display 2300. This example shows avariation of the type of user indication that option features 2302 mayreceive wherein a user may indicate a desired name for an order that theuser wishes to store for possible future reference. As shown, optionfeature 2302 allows user to type instructions for the current order. Auser indication of “Favorite Kosher Lunch” has been entered into optionfeature 2302. Illustrative display 2300, as shown in FIG. 63 may bedisplayed after a user indication of “Save Order” is entered into optionfeature 2302 as shown in FIG. 61.

[0422]FIG. 64 shows illustrative display 3400. In this example, display3400 shows a list 2040 of favorite orders associated with selectionfeatures 2034. A user may indicate to the system via a particularselection feature 2034 that one of the favorite orders is desired,rather than the order that is shown in content area 2310. A user maychoose to view illustrative display 3400 and select a favorite orderprior to viewing any restaurant menus. Illustrative display 3400, aswell as other displays described herein, may contain header 2018, sidebar 2138, and content area 2310. List 2040 may contain selectionfeatures 2034, information features 2042 and any other information asdesired. The system may receive user indications, through informationfeatures 2042, that a user wishes to view or download information.

[0423]FIG. 65 shows illustrative display 2600. The system may providedisplay 2600 in response to a user indication. For example, display 2600may be provided after link 2016 titled “Order History” receives a userindication that viewing past orders is desirable. This user indicationmay be received by any of the illustrative displays that contain one ormore links 2016, if appropriate. Illustrative display 2600 may beprovided based on any other appropriate user indication, systemfunction, or for any other suitable purpose. In this example,illustrative display 2600 contains a history list 2412 composed ofhistory items 2414. Each history item 2414 may correspond to a pastorder placed by a user. History items 2414 may be associated with anydata relevant to the past orders. Illustrative display 2600, as well asother displays described herein, may include side bar 2138, header 2018,and content area 2410.

[0424]FIG. 66 shows illustrative display 2700. In this example,illustrative display 2700 shows information relating to promotions thatthe service provider may have with the goal of increasing business.Illustrative display 2700 may be provided after link 2016 titled “SPCredits” receives a user indication that viewing information regardingservice provider credits is desirable. This user indication may bereceived by the system, through any of the illustrative displays thatcontain one or more links 2016, if appropriate. Illustrative display2700 may be provided based on any other appropriate user indication,system function, or for any other suitable purpose. Illustrative display2700, as well as other displays described herein, may include side bar2138, header 2018, and display area 2610. Display area 2610 may includeinformation about service provider credits, awards, promotions, one ormore links to information, one or more images 2026, or any othersuitable content.

[0425]FIG. 67 shows display box 2800. Display box 2800 may be used todisplay any suitable information to the user. In this example, thesystem may receive user indications to confirm whether an order shouldbe sent to a supplier, through display box 2800. Display box 2800 mayinclude one or more interactive features 2020, and any suitable text,images, and/or other content. The system may receive user indications ofintent to complete an order, cancel an order, or take any otherappropriate steps in an order process, through interactive features2020.

[0426] FIGS. 68-109 show illustrative displays that the system mayprovide to an administrator, customer service person, or other suitablenon-customer individuals or groups. For simplicity, in the descriptionsof FIGS. 68-109, the term administrative user will be used to describethe person accessing the interface.

[0427]FIG. 68 shows illustrative display 3500. Illustrative display 3500allows the administrative user to login to the system. Illustrativedisplay 3500 may contain header 2018 and sign in area 3112.

[0428]FIG. 69 shows illustrative display 3600. Illustrative display 3600may be used as a general menu for administrative users. Administrativeusers may indicate preferences using illustrative display 3600.Illustrative display 3600, as well as other displays described herein,may contain header 2018 and content area 3610.

[0429] In this example, content area 3610 shows a menu which may beavailable to an administrative user after logging into the system 1.Content area 3610 may contain one or more interactive features 2020. Thesystem may receive administrative user indications about illustrativedisplays that an administrative user wishes to view, actions anadministrative user wishes the system 1 to take, or any otherappropriate indication, through interactive features 2020.

[0430]FIG. 70 shows illustrative display 3700. Illustrative display 3700may be used to show a list of suppliers. In this example, illustrativedisplay 3700 shows a list of restaurants that the administrative usermay view by making an indication to the system, through interactivefeature 2020 titled “Restaurants Edit, Import, Delete and AdministrateRestaurants” as shown in FIG. 69. In this example, the administrativeuser may add, change any stored information relating to, and/or deleteany restaurants listed in the system 1. Illustrative display 3700, aswell as other displays described herein, may include content area 3710.

[0431] Content area 3710 may include one or more input features 3732.The system may receive administrative user indications of desiredcriteria to be used in searching for particular records in the system 1,through input features 3732. The system may receive indications of IDs,names, addresses, cities, zip codes, phone numbers, sort methods, or anyother relevant indications, through input features 3732. In thisexample, the administrative user typed “Café” into the input feature3732 titled “Name” and selected “UID” in the input feature 3732 titled“Sort By”.

[0432] Content area 3710 may include search feature 3734. The system mayreceive administrative user indications that performing a search isdesired, through search feature 3734. Upon receipt of the appropriateindication by the system, through search feature 3734, the system 1 mayperform a search for relevant restaurants. The system 1 may use any ofthe indications in input features 3732 in performing the search. In thisexample, the criterion “Café” was used in the search, and the resultsall have the characters “café” within the returned data.

[0433] Content area 3710 may include list 3740. List 3740 may includelist features 3742. List features 3742 may include item features 3744.List features 3742 may include any relevant data relating to therestaurants stored in the system, including ID, name, address, city,state, zip code, phone number, and any other relevant data. In thisexample, list 3740 contains several list features 3742, each relating toa restaurant stored in the system that has the characters “café” storedas part of its relevant data.

[0434] Content area 3710 may include data modification features 3736.The system may receive administrative user indications relating toadding to, editing, deleting from or any other suitable action regardingthe stored restaurant information, through data modification features3736. In this example, data modification features 3736 allow anadministrative user to “ADD NEW RESTAURANT” or “IMPORT RESTAURANT (FROMACCESS) . . . ”.

[0435]FIG. 71 shows illustrative display 3750. Illustrative display 3750may be generated after an administrative user makes the properindication with respect to data modification feature 3736 titled “IMPORTRESTAURANT (FROM ACCESS) . . . ” as shown in FIG. 70, or after theadministrative user makes any other proper indication that viewingillustrative display 3750 is desired. Illustrative display 3750 may beused as to guide the administrative user through the steps of importingdata from any appropriate source into the system 1. In this example,illustrative display 3750 may allow the administrative user to importdata regarding restaurants from files formatted for Microsoft® Access®software.

[0436] Illustrative display 3750, as well as any illustrative displaydescribed herein, may contain header 2018 and content area 3760. Contentarea 3760 may contain interactive features 3762. The system may receiveany appropriate administrative user indications relating to importingdata into the system 1 or any other appropriate indications, throughinteractive features 3762.

[0437]FIG. 72 shows illustrative display 3800. Illustrative display 3800may be viewed and used as part of the process of storing supplier datain the system 1. In this example, illustrative display 3800 may be usedto input and store information about restaurants. Illustrative display3800 may be provided by the system 1 upon a suitable administrative userindication to data modification feature 3736 titled “ADD NEW RESTAURANT. . . ” as shown in FIG. 70, to item feature 3744 titled “EDIT . . . ”as shown in FIG. 70, to an interactive feature 3736 as shown in FIG. 71,upon any other suitable administrative user indication, or upon anysuitable system 1 event. Illustrative display 3800, as well as anydisplay described herein, may include content area 3810.

[0438] Content area 3810 may include option features 3812. The systemmay receive administrative user input relating to any suitableinformation about suppliers, through option features 3812. In thisexample, the system may receive information about restaurant locationand contact information, hours of operation, cuisine types, types ofdining service offered, payment methods, ratings, menus, and otherrelevant information, through option features 3812. In this example,administrative user has entered “Bucharian Café”, “44 Post. St.”,“Southfield, OH”, “44445”, “Maple”, “8885557777”, and “8885557778” inoption features 3812 in the contact information area; check marks invarious boxes and opening and closing times in the hours of operationarea; a check mark in option feature 3812 titled “American” and“Cuisine(s); Organic, Vegetarian” in an option feature 3812 titled“NOTES”, both in the cuisine type section; and check marks in optionfeatures 3812 titled “Delivers” and “Offers TakeOut” in the type ofdining service area.

[0439] Content area 3810 may include one or more execution features3814. The system may receive administrative user indications, throughexecution features 3814. Administrative user indications to the system,through execution features 3814, may prompt the system 1 to storesupplier data, change supplier data, delete supplier data, or performany other suitable function.

[0440]FIG. 73 shows illustrative display 3800. In this example, theadministrative user may enter information about the menu of arestaurant, including menu name, description, types of dining services,available days and times, categories, and individual menu items.Administrative users may view illustrative display 3800, as shown inthis display, after making a suitable indication to the system, throughan execution feature 3814 as shown in FIG. 72.

[0441]FIG. 74 shows display boxes 3830 and 3840. In this example,display box 3830 is shown as an “Extras Editor” wherein administrativeusers may input relevant data relating to extra items that may beincluded with a restaurant menu item. Administrative user has entered“w/Seasonal Fruits” and “1” into the option features 3812 titled “Extra”and “Price”, indicating that a user may order a particular menu itemwith seasonal fruits for an additional price of $1. In this example,display box 3840 is shown as an “Options Editor” wherein administrativeusers may input relevant data relating to options that may be allowedwith a restaurant menu item. Administrative user has entered “Soup”,“Miso”, “0”, “Soup”, “Soup of the Day”, “0”, “Tortilla”, “Corn”, “0”,“Tortilla”, “Whole Wheat”, and “0” into option features 3812 titled“Group”, “Options”, and “Price”, indicating that a user has a choice ofmiso soup or soup of the day and a choice of corn or whole wheattortilla with a particular menu item for no additional cost.

[0442] Display boxes 3830 and 3840 may include option features 3812 andexecution features 3814.

[0443]FIG. 75 shows illustrative display 3850. In this example,illustrative display 3850 shows the names of several lists ofrestaurants. An administrative user may use this information to add alist of restaurants to the system 1 or to select one or more lists ofrestaurants that the administrative user wishes to view, edit, ordelete. An administrative user may view illustrative display 3850 aftermaking the appropriate indication to interactive feature 2020 titled“Lists Edit and Administrate Restaurant Lists (zones)” as shown in FIG.69. Illustrative display 3850 may include content area 3860.

[0444] Content area 3860 may include list 3870. List 3870 may includelist items 3874. Each list item 3874 may represent a list of suppliersaccessible through the system 1. List items 3874 may include listfeatures 3872. The system may receive indications that an administrativeuser prefers to edit, delete, add, or modify in any suitable way theassociated list item 3874, through list features 3872. Content area 3860may include one or more interactive features 3876. In this example, thesystem may receive administrative user indications that theadministrative user wishes to add an additional list item 3874 to list3870, through interactive feature 3876. The system may receive anysuitable administrative user indications, through interactive features3876.

[0445]FIG. 76 shows illustrative display 3880. In this example,illustrative display 3880 may allow an administrative user to input aname for a new list of restaurants to be included as a list item 3874 inlist 3870. Illustrative display 3880 may be viewed and used by anadministrative user that makes the proper indications to interactivefeature 3876 titled “ADD NEW LIST” as shown in FIG. 75. Illustrativedisplay 3880 may include content area 3890.

[0446] Content area 3890 may include input features 3892 and interactivefeatures 3894. The system may receive any suitable administrative userindications, through input features 3892. In this example, input feature3892 has received the administrative user input “New”. The system mayreceive any suitable administrative user indications, throughinteractive features 3894. In this example interactive feature 3894 mayreceive an administrative user indication that the administrative userwishes to proceed to the next step in the process of adding a new listitem 3874 to list 3870.

[0447]FIG. 77 shows illustrative display 3900. In this example,illustrative display 3900 may allow an administrative user to view oneor more lists 3920 of restaurants and to select a sublist 3930 ofrestaurants to be included as part of the stored data for a list item3874. Illustrative display 3900 may be viewed and used by anadministrative user after the administrative user makes suitableindications to the system, through interactive feature 3894 as shown inFIG. 76. Illustrative display 3900 may include display area 3910.

[0448] Display area 3910 may include one or more interactive features3912, one or more lists 3920, and one or more sublists 3930. The systemmay receive any suitable administrative user indications, includingindications to add one or more list items 3922 to sublist 3930 as asublist item 3932, select all list items 3922, select none of list items3922, remove one or more sublist items 3932 from sublist 3930, selectall sublist items 3932, select none of sublist items, continue to thenext step in the process of adding a list item 3874, or any othersuitable indications, through interactive features 3912.

[0449] List 3920 may contain one or more list items 3922. Sublist 3930may contain one or more sublist items 3932. List items 3922 and sublistitems 3932 may display any relevant information relating to specificsuppliers, including ID numbers, names, etc. The system may receive anysuitable administrative user indications, through list items 3922 andsublist items 3932. The system may receive administrative userindications of selection or deselection prior to receipt ofadministrative user indications by interactive features 3912, throughlist items 3922 and sublist items 3932.

[0450]FIG. 78 shows illustrative display 4000. In this example,illustrative display 4000 shows the names of several corporate sites. Anadministrative user may use this information to add a corporate site tothe system 1 or to select one or more corporate sites that theadministrative user wishes to view, edit, or delete. An administrativeuser may view illustrative display 4000 after making the appropriateindication to interactive feature 2020 titled “Sites Configure andMaintain corporate sites” as shown in FIG. 69. Illustrative display 4000may include content area 4010.

[0451] Content area 4010 may include list 4020. List 4020 may includelist items 4024. Each list item 4024 may represent a corporate siteaccessible through the system 1. List items 4024 may include listfeatures 4022. The system may receive indications that an administrativeuser prefers to edit, delete, add, or modify in any suitable way anassociated list item 4024, through list features 4022. Content area 4010may include one or more interactive features 4026. In this example, thesystem may receive administrative user indications that theadministrative user wishes to add an additional list item 4024 to list4020, through interactive feature 4026. The system may receive anysuitable administrative user indications, through interactive features4026.

[0452]FIG. 79 shows illustrative display 4050. In this example,illustrative display 4050 shows some of the relevant data stored in thesystem relating to a service provider site. Illustrative display 4050provides administrative users with means to edit such data. Illustrativedisplay 4050 may be provided upon receipt of appropriate administrativeuser indications by the appropriate list feature 4022 titled “EDIT” asshown in FIG. 78 or by any other appropriate administrative userindication or system 1 event. Illustrative display 4050, as well asother displays described herein, may include header 2018 and contentarea 4060.

[0453] Content area 4060 may include interactive features 4062 and inputfeatures 4064. The system may receive any suitable administrative userindications, through interactive features 4062. In this example, thesystem may receive administrative user indications of “Back to siteslist without editing”, through interactive features 4062. The system mayreceive administrative user indications directing that theadministrative user wishes to view illustrative display 4000, throughthe interactive feature 4062 titled “Back to sites list withoutediting”. The system may receive any suitable administrative userindications, through input features 4064. In this example, the systemmay receive administrative user indications that gDebugSubmit,gAnonUserLogin, gUserEditName, gUserEditLocation, gUserEditUser,gUserEditTime, gUserEditService, and gUserEditPayment are desirableparts of the relevant data to be stored in relation to a site named“atg”, through input features 4064.

[0454]FIG. 80 shows illustrative display 4050. In this example,illustrative display 4050 shows some of the relevant data to be storedin input features 4064 and interactive feature 4062 titled “edit site”.The system may receive administrative user indications directing thatthe data displayed in input features 4064 be stored for future use,through interactive feature 4062 titled “edit company”.

[0455]FIG. 81 shows illustrative display 4100. In this example,illustrative display 4100 shows information and features that anadministrative user may use when functioning in a customer service roleto help users with orders. Illustrative display 4100, as well as otherdisplays described herein, may contain header 2018 and content area4110.

[0456] Content area 4100 may contain attention items 4112, interactivefeatures 4114, and counter display features 4116. Attention item 4112may be used to display any relevant information regarding one or moreuser orders that may or may not be problematic in any relevant form. Inthis example, attention item 4112 displays information regarding orderID, date, time, restaurant, company, customer, customer phone number,whether the order needs attention, and the release status. The systemmay receive any relevant administrative user indications, includingindications regarding text to search for, places to be searched, dateranges to be searched, whether a date range should be searched,preferred execution of a search of orders, and recall of the previoussearch, through interactive features 4114. One or more counter displayfeatures 4116 may be used to display counts or quantities of relevantinformation. In this example, counter display features show the numberof orders needing attention, age (in minutes) of the oldest orderneeding attention, the number of orders not needing attention, and thenumber of orders being worked on.

[0457]FIG. 82 shows illustrative display 4150. In this example,illustrative display 4150 shows a list 4170 of recent orders associatedwith order items 4174. Illustrative display 4150, as well as otherdisplays described herein, may include header 2018 and content area4160. Illustrative display 4150 may be viewed upon receipt ofappropriate administrative user indications by interactive features 4114titled “SEARCH ORDERS” or “(last search)” as shown in FIG. 81.

[0458] Content area 4160 may include list 4170 and interactive features4162. List 4170 may include list items 4174. In this example, list items4174 show data relevant to orders, including dates, restaurants,customers, and whether the order is available for customer service. Listitems 4174 may include any information relevant to any order. The systemmay receive any relevant administrative user indications, throughinteractive features 4162. The system may receive administrative userindications showing a preference to view illustrative display 4100,through interactive feature 4162, as shown in FIG. 82.

[0459]FIG. 83 shows illustrative display 4200. Illustrative display 4200may be viewed by administrative users acting in a customer service role.Illustrative display 4200 may show information relating to one or moreorders that an administrative user is taking action in reference to. Inthis example, illustrative display 4200 shows information relating to anorder placed with Burger Spot restaurant by John Doe for pancakes.Illustrative display 4200, as well as other displays described herein,may include header 2018 and content area 4210.

[0460] Content area 4210 may include input features 4214 and interactivefeatures 4212. The system may receive any input by an administrativeuser regarding the order for which information is being displayed incontent area 4210, through input features 4214. In this example, thesystem may receive input of “Comment by CSR” and “This order is okay”,through input features 4214. The system may receive any suitableadministrative user indications, including indications to enter data,provide illustrative display 4150, provide illustrative display 4100, orany other suitable indications, through interactive features 4212.

[0461]FIG. 84 shows illustrative display 4200. In this example,different data is shown in the lower right portion of content area 4210.

[0462]FIG. 85 shows illustrative display 4250. Illustrative display 4250may be used as a general menu for administrative users. Administrativeusers using illustrative display 4250 may be responsible for monitoringusage by users associated with one or more specific companies ororganizations that have access to the system 1 Administrative users mayindicate preferences using illustrative display 4250. Illustrativedisplay 4250, as well as other displays described herein, may containheader 2018 and content area 4260.

[0463] In this example, content area 4260 shows a menu which may beavailable to an administrative user after logging into the system 1.Content area 4260 may contain one or more interactive features 2020. Thesystem may receive administrative user indications about illustrativedisplays that an administrative user wishes to view, actions anadministrative user wishes the system 1 to take, or any otherappropriate indication, through interactive features 2020.

[0464]FIG. 86 shows illustrative display 4300. In this example,illustrative display 4300 shows a list 4320 of order events relating toone or more orders placed by users of the system 1. An administrativeuser may view illustrative display 4300 after suitable administrativeuser indications are received by interactive feature 2020 titled “OrderEvents Report” as shown in FIG. 85 or based on any other suitableadministrative user indication or system 1 event. Illustrative display4300, as well as any other display described herein, may contain header2018 and content area 4310.

[0465] Content area 4310 may contain list 4320 and interactive features4326. List 4320 may contain one or more list items 4324. In thisexample, list items 4324 display data regarding order numbers, orderdeadlines, event times, order ages, customers, restaurants, event types,customer service representatives, and notes. List items 4324 may displayany data relevant to an order, customer, customer servicerepresentative, supplier, or any other relevant data. The system mayreceive any suitable administrative user indications, throughinteractive features 4326. In this example, the system may receiveadministrative user indications of month, day, year, “GO” and “PRINTREPORT”, through interactive features 4326. The system may receiveadministrative user indications and allow the administrative user toview a list 4320 corresponding to any relevant date, through interactivefeatures 4326 titled month, day, year, and “GO”. The system may receiveadministrative user indications directing that a printed version of list4320 be prepared, through interactive feature 4326 titled “PRINTREPORT”.

[0466]FIG. 87 shows illustrative display 4350. In this example,illustrative display 4350 shows a list 4370 of customer service reportsrelating to one or more orders placed by users of the system 1. Anadministrative user may view illustrative display 4350 after suitableadministrative user indications are received by the system, throughinteractive feature 2020 titled “Customer Service Report” as shown inFIG. 85 or based on any other suitable administrative user indication orsystem 1 event. Illustrative display 4350, as well as any other displaydescribed herein, may contain header 2018 and content area 4360.

[0467] Content area 4360 may contain list 4370 and interactive features4376. List 4370 may contain one or more list items 4374. In thisexample, list items 4374 display data regarding locations, restaurants,customers, totals, times, dates, and comments/issues. List items 4374may display any data relevant to an order, user, administrative user,supplier, or any other relevant data. The system may receive anysuitable administrative user indications, through interactive features4376. In this example, the system may receive administrative userindications of month, day, year, “GO” and “PRINT”, and “Includecancelled orders”, through interactive features 4376. The system mayreceive administrative user indications and allow the administrativeuser to view a complete or partial list 4370 corresponding to any rangeof relevant dates, through interactive features 4376 titled “FROM:”,“TO:”, “Include canceled orders” and “GO”. The system may receiveadministrative user indications directing that a printed version of list4370 be prepared, through interactive feature 4376 titled “PRINT”.

[0468]FIG. 88 shows illustrative display 4400. In this example,illustrative display 4400 shows a list 4420 of restaurants available toa site of a department of a company having access to the system 1. Anadministrative user may view illustrative display 4400 after suitableadministrative user indications are received by the system, throughinteractive feature 2020 titled “Restaurant List” as shown in FIG. 85 orbased on any other suitable administrative user indication or system 1event. Illustrative display 4400, as well as any other display describedherein, may contain header 2018 and content area 4410.

[0469] Content area 4410 may contain list 4420 and interactive features4426. List 4420 may contain one or more list items 4424. In thisexample, list items 4424 display data regarding restaurant UIDs,restaurant names, street addresses, phone numbers, and facsimilenumbers. List items 4424 may display any data relevant to a supplier orany other relevant data. The system may receive any suitableadministrative user indications, through interactive features 4426. Inthis example, the system may receive administrative user indications ofsite, “Include Restaurant UID”, “Include Other Info”, “Get RestaurantList”, “Download Report”, and “PRINT”, through interactive features4426. The system may receive administrative user indications and allowthe administrative user to view a list 4420 corresponding to anyrelevant site, through interactive features 4426 titled “Select aSite:”, “Include Restaurant UID”, “Include Other Info”, and “GetRestaurant List”. The system may receive administrative user indicationsdirecting that a printed version of list 4420 be prepared, throughinteractive feature 4426 titled “PRINT”. The system may receiveadministrative user indications that an electronic version of theinformation in list 4420 should be stored, through interactive featuretitled “Download Report”.

[0470]FIG. 89 shows illustrative display 4450. In this example,illustrative display 4450 shows a list 4470 of average order sizes andaverage daily total order amounts by company. An administrative user mayview illustrative display 4450 after suitable administrative userindications are received by the system, through interactive feature 2020titled “Report Manager” as shown in FIG. 85 or based on any othersuitable administrative user indication or system 1 event. Illustrativedisplay 4450, as well as any other display described herein, may containheader 2018 and content area 4460.

[0471] Content area 4460 may contain list 4470, one or more selectionfeatures 4478, and interactive features 4476. List 4470 may contain oneor more list items 4474. In this example, list items 4474 display dataregarding company names, average order size, and average daily ordertotals. List items 4474 may display any data relevant to a supplier orany other relevant data. The system may receive administrative userindications that viewing a specific report, including reports titled“Average Orders”, “Customers by Company”, “Order Events (by date)”,“Orders By Customer”, “Orders By Restaurant (Details)”, “Orders ByRestaurant (Summary)”, “Restaurant Search”, through selection feature4478 or any other relevant reports. Upon receipt of such indications,list 4470 may be provided anew with the information desired byadministrative user. The system may receive any suitable administrativeuser indications, through interactive features 4476. In this example,the system may receive administrative user indications of “Start Date:”,“End Date:”, “Include Cancelled Orders:”, “Notes:”, “RUN REPORT”, and“PRINT”, through interactive features 4476. The system may receiveadministrative user indications and allow the administrative user toview a list 4470 corresponding to any relevant report indicated toselection feature 4478, through the interactive features 4476 titled“Start Date:”, “End Date:”, “Include Cancelled Orders:”, “Notes:”, and“RUN REPORT”. The system may receive administrative user indicationsdirecting that a printed version of list 4470 be prepared, throughinteractive feature 4476 titled “PRINT”. In this example, administrativeuser has indicated to selection feature 4478 that “Average Orders” isdesired, and indicated to interactive features 4476 that a start date of“Jun. 19, 2000” and an end date of “Dec. 1, 2000” is desired, therebygenerating the shown list 4470 by making the proper indications tointeractive feature 4476 titled “RUN REPORT”.

[0472]FIG. 90 shows illustrative display 4500. In this example,illustrative display 4500 shows a list 4520 of reports available to theadministrative user. An administrative user may view illustrativedisplay 4500 after suitable administrative user indications are receivedby the system, through interactive feature 2020 titled “SQL Preparation”as shown in FIG. 85 or based on any other suitable administrative userindication or system 1 event. Illustrative display 4500, as well as anyother display described herein, may contain header 2018 and content area4510.

[0473] Content area 4510 may contain list 4520 and interactive features4526. List 4520 may contain one or more list items 4524. In thisexample, list items 4524 display the names of relevant reports. Listitems 4524 may display any data relevant to a report or any otherrelevant data. Each list item 4524 may contain one or more item features4522. The system may receive administrative user indications that aspecific action should be taken with respect to the report representedby the associated list item 4524, through item features 4522. In thisexample, the system may receive administrative user indications that theadministrative user desires to edit or delete the report, through theassociated item feature 4522. The system may receive any suitableadministrative user indications, through interactive features 4526. Inthis example, the system may receive administrative user indications of“Go to Report Manager”, report name, and “add new report”, throughinteractive features 4526. The system may receive administrative userindications and allow the administrative user add a new report as a listitem 4524, through interactive features 4526 titled “add new report” andthe interactive feature 4526 that is not titled. The system may receiveadministrative user indications directing that the administrative userwishes to view illustrative display 4450, through interactive feature4526 titled “Go to Report Manager”.

[0474]FIG. 91 shows illustrative display 4550. In this example,illustrative display 4550 shows a table 4570 of information relating toa reporting capability of the system 1 titled “Average Orders” with aUID of “6015516”. Illustrative display 4550 may be viewed by anadministrative user upon receipt of appropriate administrative userindications by an item feature 4522 titled “EDIT” as shown in FIG. 90 orany other appropriate administrative user indication. In this example,the administrative user has made the appropriate indication to thesystem, through item feature 4522 titled “EDIT” that is associated withthe list item titled “Average Orders” as shown in FIG. 90. Illustrativedisplay 4550, as well as other displays described herein, may includeheader 2018 and content area 4560.

[0475] Content area 4560 may contain table 4570 and interactive features4576. Table 4570 may contain interactive feature 4572 and display area4574. The system may receive administrative user indications that theadministrative user wishes to edit part or all of the displayedinformation or any other relevant information associated with thedisplayed information, through interactive feature 4572. Display area4574 may display SQL queries or any other relevant data. Interactivefeatures 4576 may receive any suitable administrative user indications.In this example, the system may receive administrative user indicationsof “Go to Report Manager” and “Back to reports list without editing”,through interactive features 4576. The system may receive administrativeuser indications directing that the administrative user wishes to viewillustrative display 4500, through the interactive feature 4576 titled“Back to reports list without editing”. The system may receiveadministrative user indications directing that the administrative userwishes to view illustrative display 4450, through interactive feature4576 titled “Go to Report Manager”.

[0476]FIG. 92 shows a representative SQL query 4575. Query 4575 and/orany other relevant data or database queries may be displayed in displayarea 4574, edited when appropriate administrative user indications arereceived by interactive feature 4572, deleted when the appropriateadministrative user indications are received by the appropriate itemfeature 4522 titled “DELETE” as shown in FIG. 90, executed when theappropriate indications are received by selection feature 4478 andinteractive feature 4476 titled “RUN REPORT” as shown in FIG. 89, orused or modified in any suitable fashion when any appropriateadministrative user indication is made. Query 4575 may be used toretrieve a three column list with column titles “Acme”, “Average OrderSize”, “Average Daily Total” from a group of four tables in a relationaldatabase based on specified criteria and having data grouped by aspecified data element.

[0477]FIG. 93 shows illustrative display 4600. In this example,illustrative display 4600 shows the names of several companies or othersuitable organizations. An administrative user may use this informationto add a company to the system 1 or to select one or more companies thatthe administrative user wishes to view, edit, or delete. Anadministrative user may view illustrative display 4600 after making theappropriate indication to the system, through interactive feature 2020titled “Companies Add, Delete, and Edit Companies, Departments, Customerand Locations” as shown in FIG. 69. Illustrative display 4600 mayinclude content area 4610.

[0478] Content area 4610 may include list 4620. List 4620 may includelist items 4624. Each list item 4624 may represent a company that hasaccess to the system 1. List items 4624 may include list features 4622.The system may receive indications that an administrative user prefersto edit, delete, add, or modify in any suitable way the associated listitem 4624, through list features 4622. Content area 4610 may include oneor more interactive features 4626. In this example, the system mayreceive administrative user indications that the administrative userwishes to add an additional list item 4624 to list 4620 or input thename of a list item 2624, through interactive feature 4626. The systemmay receive any suitable administrative user indications, throughinteractive features 4626.

[0479]FIG. 94 shows illustrative display 4650. In this example,illustrative display 4650 shows some of the relevant data stored in thesystem 1 for a participating company or organization. Illustrativedisplay 4650 provides administrative users with means to edit such data.Illustrative display 4650 may be provided upon receipt of appropriateadministrative user indications by the system, for example, throughappropriate list feature 4622 titled “EDIT” as shown in FIG. 93 or byany other appropriate administrative user indication or system 1 event.Illustrative display 4650, as well as other displays described herein,may include header 2018 and content area 4660.

[0480] Content area 4660 may include interactive features 4662 and inputfeatures 4664. Interactive features 4662 may receive any suitableadministrative user indications. In this example, interactive features4662 may receive administrative user indications of “Go to departmentslist” and “Back to companies list without editing”. The system mayreceive administrative user indications directing that theadministrative user wishes to view illustrative display 4600, throughinteractive feature 4662 titled “Back to companies list withoutediting”. The system may receive administrative user indicationsdirecting that the administrative user wishes to view illustrativedisplay 4700, through interactive feature 4662 titled “Go to departmentslist”. The system may receive any suitable administrative userindications, through input features 4664. In this example, through inputfeatures 4664, the system has received administrative user indicationsthat “Acme”, “WWW”, “25”, “1001 6th Ave.”, “4th Floor”, “Plaintown”,“Ohio”, “USA”, and “44444” are parts of the relevant data to be storedin relation to a company named “Acme”.

[0481]FIG. 95 shows illustrative display 4650. In this example,illustrative display 4650 shows some of the relevant data to be storedin input features 4664 and interactive feature 4662 titled “editcompany”. The system may receive administrative user indicationsdirecting that the data displayed in input features 4664 be stored forfuture use, through interactive feature 4662 titled “edit company”.

[0482]FIG. 96 shows illustrative display 4700. In this example,illustrative display 4700 shows the names of several departments ofcompanies or other suitable organizations. An administrative user mayuse this information to add a department to the system 1 or to selectone or more departments that the administrative user wishes to view,edit, or delete. An administrative user may view illustrative display4700 after making the appropriate indication to list feature 4622 titled“DEPARTMENTS”, interactive feature 4662 titled “Go to departments list”,or any other appropriate indication. Illustrative display 4700 mayinclude content area 4710.

[0483] Content area 4710 may include list 4720. List 4720 may includelist items 4724. Each list item 4724 may represent a department of acompany or organization that has access to the system 1. List items 4724may include list features 4722. The system may receive indications thatan administrative user prefers to edit, delete, add, or modify in anysuitable way the associated list item 4724, through list features 4722.Content area 4710 may include one or more interactive features 4726. Inthis example, interactive feature 4726 may receive administrative userindications that the administrative user wishes to add an additionallist item 4724 to list 4720, input the name of a list item 4624, or viewthe list 4620 of companies. The system may receive any suitableadministrative user indications, through interactive features 4726.

[0484]FIG. 97 shows illustrative display 4750. In this example,illustrative display 4750 shows some of the relevant data stored in thesystem 1 for a department of a participating company or organization.Illustrative display 4750 provides administrative users with means toedit such data. Illustrative display 4750 may be provided upon receiptof appropriate administrative user indications to the system, forexample, through list feature 4722 titled “EDIT” as shown in FIG. 96,interactive feature 4726 titled “add new department” as shown in FIG.96, interactive feature 4826 titled “back to department list withoutediting” as shown in FIG. 99, or by any other appropriate administrativeuser indication or system 1 event. Illustrative display 4750, as well asother displays described herein, may include header 2018 and contentarea 4760.

[0485] Content area 4760 may include interactive features 4762 and inputfeatures 4764. The system may receive any suitable administrative userindications, through interactive features 4762. In this example, thesystem may receive administrative user indications of “Back to companieslist”, “Go to customers list”, and “Back to department list withoutediting”, through interactive features 4762. The system may receiveadministrative user indications directing that the administrative userwishes to view illustrative display 4700, through interactive feature4762 titled “Back to department list without editing”. The system mayreceive administrative user indications directing that theadministrative user wishes to view illustrative display 4600, throughinteractive feature 4762 titled “Back to companies list”. The system mayreceive administrative user indications directing that theadministrative user wishes to view illustrative display 4800, throughinteractive feature 4762 titled “Go to customers list”. The system mayreceive any suitable administrative user indications, through inputfeatures 4764. In this example, input features 4764 have receivedadministrative user indications that “Acme”, “25”, “1001 6th Ave.”, “4thFloor”, “Plaintown”, “Ohio”, “USA”, and “44444” are parts of therelevant data to be stored in relation to a the “ACME Legal” departmentof a company named “Acme”.

[0486]FIG. 98 shows illustrative display 4750. In this example,illustrative display 4750 shows some of the relevant data to be storedin input features 4764 and interactive feature 4762 titled “editdepartment”. The system may receive administrative user indicationsdirecting that the data displayed in input features 4764 be stored forfuture use, through interactive feature 4762 titled “edit department”.

[0487]FIG. 99 shows illustrative display 4800. In this example,illustrative display 4800 shows the names of several users withindepartments of companies or other suitable organizations. Anadministrative user may use this information to add a user to the system1 or to select one or more users that the administrative user wishes toview, edit, or delete. An administrative user may view illustrativedisplay 4800 after making the appropriate indication to list feature4722 titled “CUSTOMERS”, interactive feature 4762 titled “Go tocustomers list”, or any other appropriate indication. Illustrativedisplay 4800 may include content area 4810.

[0488] Content area 4810 may include list 4820. List 4820 may includelist items 4824. Each list item 4824 may represent a user that hasaccess to the system 1. List items 4824 may include list features 4822.The system may receive indications that an administrative user prefersto edit, delete, add, or modify in any suitable way the associated listitem 4824, through list features 4822. Content area 4810 may include oneor more interactive features 4826. In this example, the system mayreceive administrative user indications that the administrative userwishes to add an additional list item 4824 to list 4820, input relevantdata regarding a list item 4824, view the list 4720 of departments orview the list 4620 of companies, through interactive features 4826. Thesystem may receive any suitable administrative user indications, throughinteractive features 4826.

[0489]FIG. 100 shows illustrative display 4900. In this example,illustrative display 4900 shows the names of several locations ofdepartments of companies or other suitable organizations. Anadministrative user may use this information to add a location to thesystem 1 or to select one or more locations that the administrative userwishes to view, edit, or delete. An administrative user may viewillustrative display 4900 after making the appropriate indication tolist feature 4822 titled “LOCATIONS”, interactive feature 4762 titled“Back to locations list without editing”, or any other appropriateindication. Illustrative display 4900 may include content area 4910.

[0490] Content area 4910 may include list 4920. List 4920 may includelist items 4924. Each list item 4924 may represent a location of acompany or organization that has access to the system 1. List items 4924may include list features 4922. The system may receive indications thatan administrative user prefers to edit, delete, add, or modify in anysuitable way the associated list item 4924, through list features 4922.Content area 4910 may include one or more interactive features 4926. Inthis example, the system may receive administrative user indicationsthat the administrative user wishes to add an additional list item 4924to list 4920, input relevant data regarding a list item 4924, view thelist 4820 of users, view the list 4720 of departments or view the list4620 of companies, through interactive features 4926. The system mayreceive any suitable administrative user indications, throughinteractive features 4926.

[0491]FIG. 101 shows illustrative display 4950. In this example,illustrative display 4950 shows some of the relevant data stored in thesystem 1 for a location of a department of a participating company ororganization. Illustrative display 4950 provides administrative userswith means to edit such data. Illustrative display 4950 may be providedupon receipt of appropriate administrative user indications, forexample, to list feature 4922 titled “EDIT” as shown in FIG. 100,interactive feature 4926 titled “add new location” as shown in FIG. 100,or by any other appropriate administrative user indication or system 1event. Illustrative display 4950, as well as other displays describedherein, may include header 2018 and content area 4960.

[0492] Content area 4960 may include interactive features 4962 and inputfeatures 4964. The system may receive any suitable administrative userindications, through interactive features 4962. In this example, thesystem may receive administrative user indications of “Back to companieslist”, “Back to customers list”, and “Back to departments list”, and“Back to locations list without editing”, through interactive features4962. The system may receive administrative user indications directingthat the administrative user wishes to view illustrative display 4900,through interactive feature 4962 titled “Back to locations list withoutediting”. The system may receive administrative user indicationsdirecting that the administrative user wishes to view illustrativedisplay 4600, through interactive feature 4962 titled “Back to companieslist”. The system may receive administrative user indications directingthat the administrative user wishes to view illustrative display 4700,through interactive feature 4962 titled “Back to departments list”. Thesystem may receive administrative user indications directing that theadministrative user wishes to view illustrative display 4800, throughinteractive feature 4962 titled “Back to customers list”. The system mayreceive any suitable administrative user indications, through inputfeatures 4964. In this example, input features 4964 have receivedadministrative user indications that “Acme”, “Acme”, “1001 6th Ave.”,“Suite 421 (4th Fl.)”, “Plaintown”, and “Ohio” are parts of the relevantdata to be stored in relation to a the “Acme” location of the “ACMELegal” department of a company named “Acme”.

[0493]FIG. 102 shows illustrative display 4950. In this example,illustrative display 4950 shows some of the relevant data to be storedin input features 4964 and interactive feature 4962 titled “editlocation”. The system may receive administrative user indicationsdirecting that the data displayed in input features 4964 be stored forfuture use, through interactive feature 4962 titled “edit location”.

[0494]FIG. 103 shows illustrative display 5000. In this example,illustrative display 5000 shows the names and some related data forseveral administrative users (or operators). An administrative user mayuse this information to add another administrative user to the system 1or to select one or more administrative users that the administrativeuser wishes to view, edit, or delete. An administrative user may viewillustrative display 5000 after making the appropriate indication tointeractive feature 2020 titled “Operators Add, Delete and EditOperators/Permissions” as shown in FIG. 69., or any other appropriateindication. Illustrative display 5000 may include content area 5010.

[0495] Content area 5010 may include list 5020. List 5020 may includelist items 5024. Each list item 5024 may represent an administrativeusers. List items 5024 may include list features 5022. The system mayreceive indications that an administrative user prefers to edit, delete,add, or modify in any suitable way the associated list item 5024,through list features 5022. Content area 5010 may include one or moreinteractive features 5026. In this example, the system may receiveadministrative user indications that the administrative user wishes toadd an additional list item 5024 to list 5020, or input relevant dataregarding a list item 5024, through interactive features 5026. Thesystem may receive any suitable administrative user indications, throughinteractive features 5026.

[0496]FIG. 104 shows illustrative display 5050. In this example,illustrative display 5050 shows some of the relevant data stored in thesystem 1 for an administrative user (or operator). Illustrative display5050 provides administrative users with means to edit such data.Illustrative display 5050 may be provided upon receipt of appropriateadministrative user indications, for example, to list feature 5022titled “EDIT” as shown in FIG. 103, interactive feature 5026 titled “addnew operator and/or new group” as shown in FIG. 103, or by any otherappropriate administrative user indication or system 1 event.Illustrative display 5050, as well as other displays described herein,may include header 2018 and content area 5060.

[0497] Content area 5060 may include interactive features 5062 and inputfeatures 4964. The system may receive any suitable administrative userindications, through interactive features 5062. In this example, thesystem may receive administrative user indications of “Back to operatorslist”, “Go to customers list”, and “edit operator”, through interactivefeatures 5062. The system may receive administrative user indicationsdirecting that the administrative user wishes to view illustrativedisplay 5000, through interactive feature 5062 titled “Back to operatorslist”. The system may receive administrative user indications directingthat the administrative user wishes to view illustrative display 4800,through interactive feature 5062 titled “Go to customers list”. Thesystem may receive administrative user indications directing that thedata displayed in input features 4964 be stored for future use, throughinteractive feature 5062 titled “edit operator”. The system may receiveany suitable administrative user indications, through input features4964. In this example, the system, through input features 4964 hasreceived administrative user indications that “jackf”, a passwordindicated as “********”, “Jack”, “Fine”, and “jfine@mail.com” are partsof the relevant data to be stored in relation to a the operator titled“jackf”.

[0498]FIG. 105 shows illustrative display 5100. In this example,illustrative display 5100 may allow an administrative user to view oneor more lists 5120 of administrative user permissions levels and toselect a sublist 5130 of administrative user permissions levels to beincluded as part of the stored data for a list item 5024. Illustrativedisplay 5100 may be viewed and used by an administrative user after theadministrative user makes suitable indications to list feature 5022titled “PERMISSIONS” as shown in FIG. 103, or any other suitableindication. Illustrative display 5100 may include display area 5110.

[0499] Display area 5110 may include one or more interactive features5112, one or more lists 5120, and one or more sublists 5130. The systemmay receive any suitable administrative user indications, includingindications to add one or more list items 5122 to sublist 5130 as asublist item 5132, select all list items 5122, select none of list items5122, remove one or more sublist items 5132 from sublist 5130, selectall sublist items 5132, select none of sublist items, perform customizedextra editing, or any other suitable indications, through interactivefeatures 5112.

[0500] List 5120 may contain one or more list items 5122. Sublist 5130may contain one or more sublist items 5132. List items 5122 and sublistitems 5132 may display any relevant information relating to specificadministrative user permissions. The system may receive any suitableadministrative user indications, through list items 5122 and sublistitems 5132. The system may receive administrative user indications ofselection or deselection prior to receipt of administrative userindications by interactive features 5112, through list items 5122 andsublist items 5132.

[0501]FIG. 106 shows illustrative display 5200. In this example,illustrative display 5200 may allow an administrative user to view oneor more lists 5220 of administrative user groups and to select a sublist5230 of administrative user groups to be included as part of the storeddata for a list item 5024. Illustrative display 5200 may be viewed andused by an administrative user after the administrative user makessuitable indications to the system, through list feature 5022 titled“GROUPS” as shown in FIG. 103, or any other suitable indication.Illustrative display 5200 may include display area 5210.

[0502] Display area 5210 may include one or more interactive features5212, one or more lists 5220, and one or more sublists 5230. The systemmay receive any suitable administrative user indications, includingindications to add one or more list items 5222 to sublist 5230 as asublist item 5232, select all list items 5222, select none of list items5222, remove one or more sublist items 5232 from sublist 5230, selectall sublist items 5232, select none of sublist items, perform customizedextra editing, or any other suitable indications, through interactivefeatures 5212.

[0503] List 5220 may contain one or more list items 5222. Sublist 5230may contain one or more sublist items 5232. List items 5222 and sublistitems 5232 may display any relevant information relating to specificadministrative user groups. The system may receive any suitableadministrative user indications, through list items 5222 and sublistitems 5232. The system may receive administrative user indications ofselection or deselection prior to receipt of administrative userindications by interactive features 5212, through list items 5222 andsublist items 5232.

[0504]FIG. 107 shows illustrative display 5300. In this example,illustrative display 5300 gives an administrative user some informationrelating to expense reporting, while also receiving administrative userindications about preferred expense reports based on orders placed byusers. Illustrative display 5300 may be provided upon receipt ofappropriate administrative user indications by the system, for example,through interactive feature 2020 titled “Accounting Expense ReportingEngine” as shown in FIG. 69. Illustrative display 5300, as well as otherdisplays described herein, may contain header 2018, content area 5310,and control box 5320. Content area 5310 may include any suitableinformational content, lists, or any other suitable features.

[0505] The system may receive administrative user indications directingthe type of expense report that the administrative user wishes to view,through control box 5320. Control box 5320 may include date area 5330,summary area 5340, detail area 5350, and any other relevant features.

[0506] Date area 5330 may include one or more interactive features 5332.The system may receive administrative user indications of a desirabledate or date range to be used when compiling a list, through interactivefeatures 5332.

[0507] Summary area 5340 may include one or more interactive features5342. The system may receive administrative user indications regardingdesired methods of searching, sorting, or compiling data, or any otherrelevant indications, through interactive features 5342. The system mayreceive administrative user indications that displaying a summary styleexpense report is desirable, through interactive features 5342.

[0508] Detail area 5350 may include one or more interactive features5352. The system may receive administrative user indications regardingdesired methods of searching, sorting, or compiling data, or any otherrelevant indications, through interactive features 5352. The system mayreceive administrative user indications that displaying a detail styleexpense report is desirable, through interactive features 5352.

[0509]FIG. 108 shows illustrative display 5300. In this example, contentarea 5310 shows an example summary expense report including dataregarding customer names, client codes, order quantities, and totalcost. Illustrative display 5300 as shown in FIG. 108 may be providedupon receipt of appropriate administrative user indications, forexample, through interactive feature 5342 titled “Show”. The summaryexpense report is displayed as list 5420. The individual expense itemsare displayed as list items 5424.

[0510]FIG. 109 shows illustrative display 5300. In this example, contentarea 5310 shows an example detailed expense report including dataregarding employee names, client codes, matter codes, dates, times,order IDs, total costs, tips, and adjustments. Illustrative display 5300as shown in FIG. 109 may be provided upon receipt of appropriateadministrative user indications by the system, for example, throughinteractive feature 5352 titled “Show”. The summary expense report isdisplayed as list 5520. The individual expense items are displayed aslist items 5524.

[0511] Thus, an e-commerce system for ordering supplies or services fromsuppliers is provided. In some embodiments, standards for placing ordersand registering catalog information in a database may be provided.Orders may be received from internal or external ordering sites.Supplier information may be made available to the internal or externalsites. Systems and methods for placing orders, preprocessing supplierinformation using geographic information, conducting data searches andanalyses locally on user access devices, continuously updating displaysof browser frames, tracking orders using accounting codes, placinggraphical custom orders, submitting graphical orders to suppliers,placing group orders, reducing risks associated with delinquent accountsreceivable, or combinations thereof may be provided. It will beunderstood that the foregoing is only illustrative of the principles ofthe invention and that various modifications can be made by thoseskilled in the art without departing from the scope and spirit of theinvention.

What is claimed is:
 1. A method for identifying data objects in a client browser using functions, said browser communicating with a server system via an electronic communication network, said method comprising: transferring at least one data object and at least one function from said server system to said browser; and identifying at least one of said at least one data object using said function.
 2. The method of claim 1, wherein said transferring comprises transferring at least one function selected from a group consisting of: a. a searching function; b. a grouping function; c. a sorting function; and d. a function comprising a combination of at least two of a-c.
 3. The method of claim 1, wherein: said transferring comprises transferring at least one compressed data object; and said method further comprises decompressing said compressed data object.
 4. The method of claim 3, wherein said decompressing comprises converting data from base-n values to base-10 values, wherein n is a number greater than
 10. 5. The method of claim 3, wherein said decompressing comprises forming a database having at least one data object corresponding to a supplier, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. address information; c. service information; d. hours of operation information; e. catalog information; f. critique information; g. parking information; h. other information; and i. a combination of at least two of a-h.
 6. The method of claim 3, wherein said decompressing comprises forming a database having at least one data object corresponding to a food supplier, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. address information; c. cuisine information; d. delivery information; e. take-out information; f. hours of operation information; g. menu information; h. attire information; i. parking information; j. atmosphere information; k. review information; l. other information; and m. a combination of at least two of a-l.
 7. The method of claim 3, wherein said decompressing comprises forming a database having at least one data object corresponding to a catalog item, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. identification number information; c. size information; d. color information; e. material information; f. inventory information; g. customization information; and h. a combination of at least two of a-g.
 8. The method of claim 3, wherein said decompressing comprises forming a database having at least one data object corresponding to a food item, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. identification number information; c. size information; d. customization information; e. delivery information; and f. a combination of at least two of a-e.
 9. The method of claim 1, further comprising presenting at least one identified data object to a user of said browser.
 10. The method of claim 9, wherein said presenting comprises displaying graphical representations of said at least one identified data object, said at least one identified data object selected from a group consisting of: a. a supplier; b. a catalog item; c. a menu item; and d. a combination of at least two of a-c.
 11. A system for identifying data objects in a client browser using functions, comprising: means for transferring at least one data object and at least one function from a server system to a browser via an electronic communication network; and means for identifying at least one of said at least one data object using said function, said means for transferring and said means for identifying in communication via an electronic communication system.
 12. The system of claim 11, wherein said means for transferring comprises means for transferring at least one function selected from a group consisting of: a. a searching function; b. a grouping function; c. a sorting function; and d. a function comprising a combination of at least two of a-c.
 13. The system of claim 11, wherein: said means for transferring comprises means for transferring at least one compressed data object; and said system further comprises means for decompressing said compressed data object, said means for decompressing, said means for transferring and said means for identifying in communication via an electronic communication system.
 14. The system of claim 13, wherein said means for decompressing comprises means for converting data from base-n values to base-10 values, wherein n is a number greater than
 10. 15. The system of claim 13, wherein said means for decompressing comprises means for forming a database having at least one data object corresponding to a supplier, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. address information; c. service information; d. hours of operation information; e. catalog information; f. critique information; g. parking information; h. other information; and i. a combination of at least two of a-h.
 16. The system of claim 13, wherein said means for decompressing comprises means for forming a database having at least one data object corresponding to a food supplier, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. address information; c. cuisine information; d. delivery information; e. take-out information; f. hours of operation information; g. menu information; h. attire information; i. parking information; j. atmosphere information; k. review information; l. other information; and m. a combination of at least two of a-l.
 17. The system of claim 13, wherein said means for decompressing comprises means for forming a database having at least one data object corresponding to a catalog item, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. identification number information; c. size information; d. color information; e. material information; f. inventory information; g. customization information; and h. a combination of at least two of a-g.
 18. The system of claim 13, wherein said means for decompressing comprises forming a database having at least one data object corresponding to a food item, said at least one data object having at least one attribute selected from a group consisting of: a. name information; b. identification number information; c. size information; d. customization information; e. delivery information; and f. a combination of at least two of a-e.
 19. The system of claim 11, further comprising means for presenting at least one identified data object to a user of said browser, said means for presenting, said means for transferring and said means for identifying in communication via an electronic communication system.
 20. The system of claim 19, wherein said means for presenting comprises means for displaying graphical representations of said at least one identified data objects, said at least one identified data object selected from a group consisting of: a. a supplier; b. a catalog item; c. a menu item; and d. a combination of at least two of a-c. 